【问题标题】:How to print current date in JSP?如何在 JSP 中打印当前日期?
【发布时间】:2010-09-10 15:29:52
【问题描述】:

我想做这样的事情:

 <?php echo date('Y'); ?>

然后在.jsp 文件中。我看到的所有tutorials 都需要在某处建立一个类。我们正在运行 appFuse 和 Tapestry。当然,其中之一(如果不是 Java 本身)为我们提供了一些东西来做这种事情而没有所有的开销。

这似乎应该有效,但没有:

 <%= new Date.getYear() %>

【问题讨论】:

  • 这里的想法似乎有些混乱。您要么使用 Tapestry,要么使用 JSP,但几乎没有两者,或者你是吗?
  • 好吧,鉴于我不知道自己在做什么 :),是的,我正在编辑 .jsp 和 .tml 文件,具体取决于。到目前为止,粗略的页面框架主要是 jsps,例如default.jsp、header.jsp、footer.jsp。我假设页面内容将更多.tml。 (这个框架是别人为我设置的。)
  • 有趣的组合。祝你好运:)
  • 嘿。谢谢。是的,知道要触摸哪些文件,不要管哪些文件,以及学习这些东西最难的部分总是去哪里...... :)

标签: jsp date-format


【解决方案1】:

使用jsp:useBean 构造java.util.Date 实例并使用JSTL fmt:formatDate 使用SimpleDateFormat 模式将其格式化为人类可读的字符串。

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<jsp:useBean id="date" class="java.util.Date" />
Current year is: <fmt:formatDate value="${date}" pattern="yyyy" />

老式的 scriptlet 方式是:

<%= new java.text.SimpleDateFormat("yyyy").format(new java.util.Date()) %>

请注意,当您不使用 @page import 指令时,您需要指定完整的限定类名,这可能是您的问题的原因。然而,使用 scriptlets 十年来一直是discouraged

这一切都在[jsp] tag info page 中得到了展示:)

【讨论】:

  • @BalusC:你们卖写着“BalusC 粉丝”的 T 恤吗?因为我会买一个! :)
【解决方案2】:

我的解决方案:

<%@page import="java.util.Calendar"%>
<%@page import="java.util.GregorianCalendar"%>
    <%
      GregorianCalendar cal = new GregorianCalendar();
      out.print(cal.get(Calendar.YEAR));
    %>

【讨论】:

  • 一个班轮:&lt;% out.print((new java.util.GregorianCalendar()).get(java.util.Calendar.YEAR)); %&gt;
【解决方案3】:

&lt;%= new java.util.Date().getYear() + 1900 %&gt;

【讨论】:

  • 虽然简短且直接适用于问题,但请注意这是一个脚本,不鼓励 BalusC 已经提到过。
  • 已弃用。从 JDK 版本 1.1 开始,由 Calendar.get(Calendar.YEAR) - 1900 取代。
【解决方案4】:

在 Java 8 中可以使用打印年份:

<%= LocalDate.now().getYear() %>

【讨论】:

    【解决方案5】:

    您应该使用JSTL 编写JSP,并使用它的&lt;fmt&gt; 标签来格式化日期等。

    【讨论】:

      猜你喜欢
      • 2013-06-07
      • 1970-01-01
      • 2023-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-07
      相关资源
      最近更新 更多