资源包中的值作为formatDate中的模式

Ros*_*atl 4 java jsp localization jstl

我想从资源包中读取JST formatDate的模式,但这种天真的方法不起作用,我做错了什么?

在com/company/MyPortlet.properties中是这个键:

company.date.format = yyyy-MM-dd HH:mm:ss
Run Code Online (Sandbox Code Playgroud)

在页面我有:

<fmt:setBundle basename="com.company.MyPortlet"/>
<fmt:formatDate value="${date}"  pattern="${company.date.format}" />
Run Code Online (Sandbox Code Playgroud)

Bal*_*usC 5

您需要为包提供变量名称.

<fmt:setBundle basename="com.company.MyPortlet" var="bundle" />
Run Code Online (Sandbox Code Playgroud)

这种方式可以在页面中访问包${bundle}.您可以通过fmt:message它获取消息,并且可以使用其var属性将其存储在本地范围中.然后你可以在它的pattern属性中使用它fmt:formatDate

<fmt:message bundle="${bundle}" key="company.date.format" var="pattern" />
<fmt:formatDate value="${date}" pattern="${pattern}" />
Run Code Online (Sandbox Code Playgroud)