我发现格式标签库有奇怪的行为.我正在网页的页脚中格式化版权消息.我正在使用以下伪代码:
<fmt:message var="copyright" key="someKey">
<fmt:param value="${year}"/>
</fmt:message>
...
<c:out value="${copyright}"/>
我只是将这一年作为论点传递到资源包中.如果您在传递年值之前将其舍去:
<c:out value="${year}"/>
<%-- renders as 2012 --%>
但是,在传递了参数之后,年份将格式化为数字.该数字呈现为2,012.
我已经在Google上搜索并四处询问,除了通用的Oracle文档(http://docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fmt/tld-summary.html)之外没有发现任何其他内容
还有其他人做到吗?
提前致谢.
解决方法:
它由MessageFormat
解释为Number
,因此使用千位分隔符(根据当前语言环境可以是逗号或点)进行格式化.您可以通过添加zero width space来防止将其解释为数字:
<fmt:param value="${year}​"/>