【问题标题】:Is it possible to create a date value in Expression Language?是否可以在表达式语言中创建日期值?
【发布时间】:2011-05-29 14:24:46
【问题描述】:

是否可以在不使用 scriptlet 的情况下在 JSTL 表达式语言 (EL) 中创建日期值?这是我试图重构为仅使用 EL 的一些遗留代码的 sn-p。

<td><%=new java.text.SimpleDateFormat("MM/dd/yyyy HH:mm z").format(new java.util.Date())%></td>

显然它会打印出当前的日期和时间。我知道我可以使用 EL 格式化日期,但我可以使用 EL 获取日期吗?

【问题讨论】:

  • @BalusC 很好的参考,感谢您的链接

标签: jsp jakarta-ee jstl


【解决方案1】:

我认为你不能在 EL 中做到这一点。但是这个怎么样,这里没有scriptlet

<jsp:useBean id="today" class="java.util.Date" scope="page" />
<fmt:formatDate value="${today}" pattern="MM.dd.yyyy" />

【讨论】:

  • 啊,可能是这个。我会测试一下,然后告诉你进展如何
  • 请你帮我如何应用${today} 模式我想这样做但没有substring &lt;c:forEach var="year" items="${LK_YEAR}"&gt; &lt;c:if test="${year.year &lt; fn:substring(currYear,24,29) }"&gt; &lt;option value="${year.year}"&gt;${year.year}&lt;/option&gt; &lt;/c:if&gt; &lt;/c:forEach&gt;
  • 在这种情况下,“今天”是服务器端的日期还是客户端的日期?我认为服务器
  • @njfife 今天在服务器端,因为所有 JSP 都在服务器上执行
  • 是的,我认为甚至不可能从 JSP 中获取客户端日期,您必须在 Java 脚本中进行......哦,好吧
【解决方案2】:

如果你使用 spring webflow 框架会很有帮助

如果你在 flow.xml 上定义这个

<on-start>
    <set name="flowScope.now" value="new java.util.Date()" />
</on-start>

你可以这样获取值

<fmt:formatDate value="#{now}" pattern="MM.dd.yyyy" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-17
    • 1970-01-01
    • 1970-01-01
    • 2015-07-20
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    • 2015-08-20
    相关资源
    最近更新 更多