sturts2中的国际化

sturts2中的国际化
1、sturts2的标签很丰富。用起来也很方便,但是它的样式不太好,最好能够自定义一套样式!若不想用sturts2
   缺省的样式,就使用theme="simple"。
   sturts2中的有些标签,是用js框架写的,需要加载这些框架(如:dojo)。在jsp页面中使用<s:head/>加载这些框架和css!
  
 2、sturts2中的国际化,又其拦截器完成。拦截器会根据用户浏览器设置的不同来,自动适配!只需要定义多个资源文件
   就可以!
   资源文件可以是全局的(在classes中),也可以是局部的(在各个特定的包中)!
   对资源文件的要求:
     要注意资源文件的命名规范!例如:package_en_US.properties和package_zh_CN.properties
     
   I、两种实现国际化的方法,key和lable方式!
     例如:
      a、<s:textfield label="%{getText('username')}" name="username"/>
      b、<s:textfield key="username" name="username"/>
    
    II、单个的资源信息提取的两种方式:
     例如:
      a、<s:property value="getText('main.message')"/>
      b、<s:text name="main.message"/>
     
   III、在s:datetimepicker标签中可以使用,key和label两种方式来进行国际化
          key="date"
          label="%{getText('date')}"
          这个日期标签,在中文环境和英文环境下的显示形式是不一样的
          中文:2007-11-12
          英文:11/14/2007
          所以在进行日期处理的时候要小心
     
 3、对于分步表单提交和“后退”网页过期的问题有待继续研究!
   对于表单重复提交的问题可以使用<s:token/>来解决!
   在使用token时,需要配置拦截器,而且在Action中需要定一个常量!
   例如:
     页面:<s:token/>
     xml: <interceptor-ref name="defaultStack" />
              <interceptor-ref name="token" />
     Action:private static final long serialVersionUID = 6820659617470261780L;
  
 4、个人感觉struts2的Validation(验证框架)不是很好,效率也不高,而且需要定义比较复杂的XXXAction-validation.xml文件.
     所以对于页面上的限制还是使用js或js框架(如:jquery,dojo,portaltype)!
     
 5、<s:submit key="back" name="redirect-action:crud!list" />这种实现方式比较好!
   <s:submit key="back" onclick="#:history.back();" />
   这种实现方式不好,因为它会自动刷新页面;当有添加,删除,更新操作时,就重复的刷新页面!不推荐使用!
  
 6、<s:select label="%{getText('user.from')}"  
     name="user.from"
     headerKey=""
     headerValue="Select From"
     list="fromArray"
     listKey="id"
     listValue="name"
     value="user.from"
     required="true" />
     <%--
        name="user.from"是用于通过struts2内在的机制给Action自动赋值
        list="fromArray"是一个封装了bean的list,其中的bean 有id和name属性
        listKey="id"
        listValue="name"
        那么,当用户提交表单的时候,sturts2的内在机制,会自动为我们装载的!
        需要我们在Action里定义一个user bean,其中user中有一个from属性
        要是嵌套定义,如:user bean 中又定义了一个bean(DateBean)。那么在页面就要使用user.date.year这种形式,来向Action传值!
        其中,date是user bean 中的一个属性,struts2会自动为你装载!
     --%>

你可能感兴趣的:(sturts2中的国际化)