如何使用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.
答案 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>