您的位置:首页 > Web前端 > JavaScript

jstl,fmt标签

2006-11-24 23:51 411 查看
首先,jstl既然可以国际化,那么必然可以自动根据local设置来选择资源文件。

2,fmt:setLocal 可以设置Local,从而改变输出格式。

3,fmt:message 可以输出资源文件里的key对应的value。
<fmt:message key=xxx"/>
和struts一样 还可以传参数
<fmt:message key=xxx"/>
<fmt:param value="${abc}"/>
</fmt:message>

4,<fmt:bundle>
<fmt:setBundle>
这地方有点意思,首先我在工程的WEB-INF/classes下面建立了一个资源文件resources.properties。然后在jsp页面里
<fmt:bundle basename="resources.properties">使用此资源文件。
Nitrox插件提示找不到resources.properties的警告.

使用<fmt:message key="xxx"/>也无法显示.

原因:工程没有指定input ,output的对应关系.这样classes并不是classpath路径.

解决办法:
设置input为/WEB-INF/src ,output /WEB-INF/classes
然后把resources.properties放在 /WEB-INF/src/下面。
这样在/WEB-INF/classes/下面自动生成了一个resources.properties.这就是我想要的。
好了,在试一次,资源文件找到了。

<fmt:message key="xxx"/>也能正常显示了。

5,难道<fmt:message>必须和<fmt:bundle >搭配使用才行吗?实在觉得有点罗嗦。

没办法,jstl就是这样用的。

6,jstl使用资源文件有个大的问题,因为fmt:bundle basename="xxx" 指定死了资源文件了,那么如果local不同了
岂不是还从这个资源文件里取数据吗?这样美国的网页浏览仍旧显示日文,就不合理了.
我理解错了,<fmt:bundle basename="xxx"/>并非指定资源文件就是他,而是指资源文件的基本名字,例如,
如果是英国的local那么自动查找xxx_en.properties,如果是中国的local那么自动去查找xxx_zh.properties.
和struts是一样的.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: