5 votes

Affichage de l'heure dans une page JSP

Voici ma ligne dans demo.jsp

<html>
<head>
<title>demo</title>
</head>
<body>

Hello there!!!   The time is <%= new java.util.Date()%>

</body>
</html>

qui, lorsque je l'ouvre dans firefox, n'affiche pas l'heure, mais la même ligne :

"L'heure est <%= new java.util.Date()%>"

5voto

Rudolf Mayer Points 242

Votre code est tout à fait correct, il vous affichera l'heure actuelle, formatée selon les paramètres régionaux actuels. Comme d'autres l'ont fait remarquer à tort, l'endroit où vous placez ce code dans la page (c'est-à-dire entouré d'autres balises HTML) n'est pas le problème ici.

Cependant, il semble que vous accédiez à votre page soit directement à partir de l'emplacement du fichier (file://votrechemin/demo.jsp), soit par l'intermédiaire d'un serveur web standard (par exemple Apache), mais pas à partir d'un conteneur de servlets (par exemple Tomcat, Jetty, ), qui pré-traiterait la balise <% -- %> JSP System.

Cherchez un exemple pour savoir comment configurer Tomcat ou Jetty pour votre système d'exploitation, et où placer les pages JSP, ou un tutoriel sur la façon de l'utiliser à partir d'Eclipse ou IDEA.

4voto

Dave Points 3005

On dirait que vous mettez <%= new java.util.Date()%> au mauvais endroit, et qu'il est traité comme du texte plutôt que du code, il devrait ressembler à quelque chose comme ça :

<td width="100%"><b>&nbsp;Current  Date 
and time is:&nbsp; <font color="#FF0000">

<%= new java.util.Date() %>
</font></b></td>

Si vous postez un exemple de code, cela nous aidera beaucoup.

Quelques exemples ici aussi : http://www.roseindia.net/jsp/jsp_date_example.shtml

Dave

0voto

duffymo Points 188155

Si vous allez à ce enlace Il contient des exemples, avec les sources, qui vous montrent comment le faire correctement. Voir l'exemple "Date" sous les exemples JSP 1.2.

Une autre recommandation : Apprenez JSTL et utilisez ses balises de format pour formater correctement l'heure et la date. N'utilisez pas de scriptlets.

0voto

James Tikalsky Points 771

Je suppose que vos JSPs se compilent.

La notation <%= %> invoque implicitement la méthode toString() de l'instance. Puisque les constructeurs en Java ne renvoient pas une référence à l'instance nouvellement créée, vous essayez de faire cela :

new java.util.Date().toString() //! illegal

Essayez plutôt ceci :

<% java.util.Date now = new java.util.Date() %>
<%= now %>

0voto

QA Specialist Points 766

Afin de pouvoir afficher la date et/ou l'heure, il faudrait utiliser les bibliothèques java et out.println pour afficher l'heure :

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.io.*,java.util.*, javax.servlet.*" %>
<%@page import="java.text.DateFormat"%>
<%@page import="java.text.SimpleDateFormat"%>

<html>
<body>
<p>&nbsp;</p>
<div align="center">
  <center>
  <table border="0" cellpadding="0" cellspacing="0" width="460" bgcolor="#EEFFCA">
    <tr>
      <td width="100%"><font size="6" color="#008000">&nbsp;Date Example</font></td>
    </tr>
    <tr>
      <td width="100%"><b>&nbsp;Current Date and time is:&nbsp; <font color="#FF0000">
      <% DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   Date date = new Date(); out.println(dateFormat.format(date));%>
    </font></b></td>
    </tr>
  </table>
  </center>
</div>
</body>
</html>

Note : SimpleDateFormat vous permet d'afficher avec différents formats : par exemple "kk:mm:ss a z" ou "yyyy/MM/dd HH:mm:ss.SSS", etc... kk=format 24 heures, yyyy=année, MM=mois, dd=jour, HH=format 24 heures, hh=heure 1 à 12, mm=minute, ss=seconde, SSS=fraction de seconde, a =am ou pm, et z =fuseau horaire

La ligne du bas : Pour le personnaliser et l'afficher, vous devrez remplacer <%= new java.util.Date() %> avec un code plus efficace :

Changement de :

<%= new java.util.Date() %>

AVEC l'exemple de format suivant :

<%@page import="java.io.*,java.util.*, javax.servlet.*" %>
<%@page import="java.text.DateFormat"%>
<%@page import="java.text.SimpleDateFormat"%>

<html>
.
.
<% DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       Date date = new Date(); out.println(dateFormat.format(date));%>
.
.
</html>

Sortie :

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X