JSP / JSTL中的嵌套表达式

我在视图中使用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编写嵌套的构造函数吗?

谢谢您的期待!

回答:

<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"/>

以上是 JSP / JSTL中的嵌套表达式 的全部内容, 来源链接: utcz.com/qa/399144.html

回到顶部