我的工程使用struts2框架,可是在里面使用国际化的时候却有老多问题了...1.把struts-tag.tld复制到工程目录下
2.在包中创建与Bean同名的properties文件,例如Test.java 同一包中创建Test_zh_CN.properties,然后在里面录入一些数据。
3.在jsp中调用时出现问题:
首先是${getText("test.mytest")} 出现一个报错.意思为没有指定名称空间namespaces。
使用<s:text name="test.mytest"></s:text> 然后一个就是页面中直接显示test.mytest这段文字,并没有显示在文件中对应的值。
使用<s:i18n name="Test">
     <s:text name="test.mytest"></s:text> 
   </s:i18n>
时才正常显示..不知道为什么??我看的那些教程说会自动找到对应的包的...郁闷

解决方案 »

  1.   

    Test_zh_CN.properties不是放在Test.java同一个包下面的.
    struts查找的顺序是:classes下面,web-info下面
    你可以在配置文件中指定il8n的文件路径
      

  2.   

    我在struts.properties中指定了
    struts.custom.i18n.resurces = Test而且也在classes下面生成了Test_zh_CN.properties 
    还是一样的
      

  3.   

    struts2中不是给所有的Action都定制了***_zh_cn.properties的获取方式吗??
      

  4.   

    struts2资源有4种:1>.Action级别资源文件:   例:如果你有一个LoginAction得话,对应资源文件LoginAction.properties。2>.包级别资源文件:   package.properties,package是固定的。3>.全局资源文件:   即在配置文件中通过struts.custom.i18n.resources = Test 形式进行配置。4>.临时资源文件:   通过<s:i18n />标签进行访问。