最近用exadel加eclipse做一个struts的项目,结果碰到了很多问题,其中一个重要的问题就是中文化的问题,这个问题在很多地方都碰到了,下面将介绍一种方法,可以让displaytag产生的报表列名变成中文的。
第一步是在网页中加入jstl的fmt的支持。
1、将jstl需要的jstl.jar和standard.jar拷贝到WebContent\WEB-INF\lib目录下
2、将fmt.tld拷贝到WEB-INF目录下
3、修改WEB-INF目录下的web.xml文件,添加如下行到相应位置
<taglib>
<taglib-uri>/WEB-INF/fmt</taglib-uri>
<taglib-location>/WEB-INF/fmt.tld</taglib-location>
</taglib>
4、在要编辑的jsp文件头上添加<%@tagliburi="/WEB-INF/fmt.tld"prefix="fmt"%>以支持fmt
第二步是要在系统中加入resource文件的支持
1、在javaresoruce目录下面的任意一个包中(下面假定是sample包)创建resource文件,名称为test.properties
2、在其中输入如下一行内容测试
test=中文内容
3、在sample目录下面创建一个bat文件,名字叫做encode.bat,编辑内容如下
%JAVA_HOME%\bin\native2ascii-encodinggb2312test.propertiestest_zh.properties
然后保存退出
4、双击此bat文件执行,执行后会生成一个名称为test_zh.bat的文件
5、在struts-config.xml文件中<controller/>后面加入下面这一行内容
<message-resourcesparameter="sample.test.properties"/>
6、在需要编辑的jsp文件中编辑如下,其中titleKey是关键
<fmt:bundlebasename="sample.test_zh">
<display:table...>
<display:columnproperty="name"<b>titleKey="test"</b>headerClass="sortable"/>
</display:table>
</fmt:bundle>
这样displaytag列名显示的就是“中文内容”了:)