最近用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文件头上添加<%@ taglib uri="/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 -encoding gb2312 test.properties test_zh.properties
然后保存退出
4、双击此bat文件执行,执行后会生成一个名称为test_zh.bat的文件
5、在struts-config.xml文件中 <controller/>后面加入下面这一行内容
<message-resources parameter="sample.test.properties"/>
6、在需要编辑的jsp文件中编辑如下,其中titleKey是要害
<fmt:bundle basename="sample.test_zh">
<display:table...>
<display:column property="name" <b>titleKey="test"</b> headerClass="sortable"/>
</display:table>
</fmt:bundle>
这样displaytag列名显示的就是“中文内容”了:)