我在视图中使用JSP,为控制器使用Spring MVC 3.0。 在我的JSP中,我想显示当前的DateTime,我有以下代码...
<c:set var="dateTimeDisplayFormat" value='<spring:message code="display.dateFormat" />'/>
<c:set var="currentDateTime"
value='<%= new SimpleDateFormat(${dateTimeDisplayFormat}).format(new Date()) %>'
scope="page" />
现在,问题是JSTL无法识别SimpleDateFormat实例化的嵌套标记。我希望将格式字符串(从'dateTimeDisplayFormat'变量获得)传递给SimpleDateFormat构造函数。
有人可以建议我如何在上面的c:set语句中为SimpleDateFormat编写嵌套构造函数?
感谢您的期待!
答案 0 :(得分:16)
<c:set>
可以从代码内容中获取其值,而不是value
属性:
<c:set var="dateTimeDisplayFormat">
<spring:message code="display.dateFormat" />
</c:set>
<c:set var="currentDateTime" scope="page">
<%= new SimpleDateFormat(${dateTimeDisplayFormat}).format(new Date()) %>
</c:set>
更好的是,您根本不需要<c:set>
,因为<spring:message>
和<fmt:formatDate>
都可以将结果存储在变量中:
<spring:message code="display.dateFormat" var="dateTimeDisplayFormat"/>
<fmt:formatDate pattern="${dateTimeDisplayFormat}" var="currentDateTime" scope="page"/>