Atea - Hero's Grave

          面向對象,開源,框架,敏捷,云計算,NoSQL,商業智能,編程思想。

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            40 隨筆 :: 0 文章 :: 28 評論 :: 0 Trackbacks
          筆者近期正在使用Struts2開發,在這里把個人心得小結一下。

          1.重復提交問題。
          使用<s:token />標簽。但這并不足夠。當一個submit需要花費大量時間的時候(例如CRUD),頁面會暫時無法轉向,這時如果狂點按鈕的話仍然可以進行重復提交。
          所以正確的作法應該是前后臺都要有所控制:
           • 使用<s:token />
           • 使用js控制:<form onsubmit="this.submit.disabled='true';">

          2.在web page中使用for循環的問題。
          <s:bean name="org.apache.struts2.util.Counter">           
            <s:param name="last" value="***" />
            <s:iterator>
              do sth..
           
          </s:iterator>
          </s:bean>                           
          這是一個很好用的bean,但要注意的是參數last一定要傳對。如果設錯了的話(比如空值),等待你的將是一個死循環..
          PS:其實,在視圖層應盡量避免使用循環等復雜邏輯,最好在后臺封裝好了拿上來直接顯示。

          3. 數據的頁面顯示問題。
          為保持用戶的輸入與頁面顯示的一致,可能要對空格等做特殊處理:
          str = str.replaceAll(" ","&nbsp;");
          然后使用標簽(注意escape):
          <s:property value="***" escape="false" />
          還有一種方法就是后臺不做任何轉換,把原始數據附給js在前臺轉換。具體哪種方法好就要細細權衡了。

          4.自定義interceptor的問題。
          Struts2默認每個Action都會自動調用defaultStack interceptor(def in struts-default.xml)。但如果你自定義了interceptor,defaultStack將不再被自動調用。
          想和頁面做交互的話最好還是加上它:
          <interceptor-stack name="Test_InterceptorStack">
            
          <interceptor-ref name="Test_Interceptor"/>
            
          <interceptor-ref name="defaultStack"/>
          </interceptor-stack>

          好了,就先到這里了。以后有新的話再補充:>
          posted on 2008-08-04 17:47 Atea 閱讀(3316) 評論(7)  編輯  收藏 所屬分類: Struts

          評論

          # re: Struts2使用小結 2008-08-05 09:04 YYX
          str = str.replaceAll(" ","&nbsp;");
          這個情況用replace()即可,這兩個方法容易望文生義,理解容易有偏差  回復  更多評論
            

          # re: Struts2使用小結 2008-08-05 10:58 123
          汗,果然是小節啊.
          相當的小.
          呵呵.  回復  更多評論
            

          # re: Struts2使用小結 2008-08-05 13:44 Happy漫步者
          呵呵 贊一個  回復  更多評論
            

          # re: Struts2使用小結 2008-08-05 16:46 Atea
          @YYX
          的確,應該用replace
          @123
          嗯,有些東西別人寫過了我就不寫啦:>
            回復  更多評論
            

          # re: Struts2使用小結[未登錄] 2008-08-05 23:57 alex
          str = str.replaceAll(" ","&nbsp;");
          這個情況用replace()即可
          ----------------
          不是吧replace 只對字串操作不對字串操作  回復  更多評論
            

          # re: Struts2使用小結 2008-09-01 21:05
          有什么學習struts2好的資料,推薦一下啊  回復  更多評論
            

          # re: Struts2使用小結[未登錄] 2008-09-04 08:32 Atea
          @豬
          官方文檔、各種blog;
          get_ready_for_struts2.chm,startingstruts2online.pdf,Struts 2 in Action.pdf.  回復  更多評論
            


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


          網站導航:
           
          主站蜘蛛池模板: 通海县| 崇阳县| 师宗县| 沧州市| 灵武市| 应城市| 宁阳县| 高平市| 庐江县| 蒲江县| 军事| 吉林省| 突泉县| 额尔古纳市| 高青县| 吉安县| 阿城市| 四平市| 东港市| 娄烦县| 昭苏县| 且末县| 贵州省| 扬中市| 民乐县| 普格县| 沈阳市| 大埔区| 建阳市| 泸水县| 万年县| 独山县| 缙云县| 广东省| 高尔夫| 秦皇岛市| 临海市| 信丰县| 宁津县| 荥阳市| 宜昌市|