<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    176142998

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      116 Posts :: 0 Stories :: 45 Comments :: 0 Trackbacks
    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 on 2008-08-04 09:38 飛飛 閱讀(667) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 日本在线高清免费爱做网站| 另类免费视频一区二区在线观看| 波多野结衣在线免费观看| 亚洲免费在线视频| 污视频在线观看免费| 精品亚洲aⅴ在线观看| 四虎国产成人永久精品免费| 久久精品国产亚洲AV大全| 99re6免费视频| 亚洲人成影院午夜网站| 无码国产精品一区二区免费虚拟VR| 97亚洲熟妇自偷自拍另类图片| 69影院毛片免费观看视频在线| 内射少妇36P亚洲区| 免费精品人在线二线三线区别| 亚洲一本到无码av中文字幕| 蜜臀91精品国产免费观看| 特级毛片A级毛片100免费播放| 亚洲精品高清一二区久久| baoyu122.永久免费视频| 亚洲人成电影亚洲人成9999网| 成年黄网站色大免费全看| 亚洲国产精品无码久久九九大片| 免费国产人做人视频在线观看| 精品一区二区三区免费观看| 久久精品国产亚洲AV麻豆~| 成人免费视频69| 美女黄网站人色视频免费| 亚洲AV无码专区电影在线观看| 国产92成人精品视频免费| 国产精品亚洲专区一区| 国产亚洲3p无码一区二区| av无码免费一区二区三区| 污污的视频在线免费观看| 亚洲精品国产成人99久久| 日韩黄色免费观看| 99re6在线精品免费观看| wwwxxx亚洲| 国产亚洲AV夜间福利香蕉149| 91久久成人免费| 国产成人无码免费网站|