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 飛飛 閱讀(662) 評論(0)  編輯  收藏

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


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 五华县| 射阳县| 新龙县| 托克托县| 康乐县| 福鼎市| 潼关县| 昆山市| 大余县| 德清县| 浦城县| 上犹县| 甘南县| 景谷| 黄大仙区| 堆龙德庆县| 栖霞市| 台中市| 文山县| 中方县| 沙河市| 庄浪县| 闻喜县| 正安县| 北宁市| 烟台市| 攀枝花市| 鄂托克旗| 漳浦县| 冕宁县| 灵台县| 大兴区| 张北县| 林口县| 中牟县| 嘉禾县| 金溪县| 江津市| 绥宁县| 岑巩县| 岑溪市|