sruts2 国际化 规范

引用:http://www.blogjava.net/176142998/archive/2008/08/04/219811.html

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会自动为你装载! 
posted @ 2012-05-07 15:34  镇水古月  阅读(319)  评论(0编辑  收藏  举报