如何使用JSTL在JSP中捕获变量中的当前日期和时间?

时间:2013-12-25 14:40:53

标签: jsp jstl

如何使用JSTL在JSP中捕获变量中的当前日期和时间?

<c:set property="currentTime" value="${System.CurrentTimeMillis()}"/> 

我在JSP中使用上面的代码但它抛出了一个错误。

org.apache.jasper.JasperException: The function currentTimeMillis must be used with a prefix when default namespace is not specified.

2 个答案:

答案 0 :(得分:8)

巴鲁,试试这个..

<jsp:useBean id="now" class="java.util.Date" />

<fmt:formatDate type="time" value="${now}" /><br/>
<fmt:formatDate type="date" value="${now}" /><br/>
<fmt:formatDate type="both" value="${now}" /><br/>
<fmt:formatDate type="both" dateStyle="short" timeStyle="short"
    value="${now}" /><br/>
<fmt:formatDate type="both" dateStyle="medium" timeStyle="medium"
    value="${now}" /><br/>
<fmt:formatDate type="both" dateStyle="long" timeStyle="long"
    value="${now}" /><br/>
<fmt:formatDate pattern="yyyy-MM-dd" value="${now}" /><br/>

更新代码..

<jsp:useBean id="now" class="java.util.Date" />
<jsp:useBean id="bean" class="demo.Sample" />
<c:if test="${bean.timestamp lt now}">
Start date time is in the past.
</c:if>
<c:if test="${bean.timestamp gt now}">
Start date time is in the future.
</c:if>
<c:if test="${bean.timestamp eq now}">
Start date time is identical to now.
</c:if>
巴鲁试试这个......

答案 1 :(得分:1)

您收到该错误,因为$ {System.CurrentTimeMillis()}是INVALID EL表达式。任何范围内都没有System变量。 EL表达式中没有静态方法或常量访问。

JSP Taglib指令:

<%@ page import="java.util.Date" ... />

获取时间戳:

<jsp:useBean id="current" class="java.util.Date" />

<c:if test="${current.time > yourTimestampInDb}">
      // .........
</c:if>