posts - 297,  comments - 1618,  trackbacks - 0

          說明:本文翻譯自struts-2.0.8-all\struts-2.0.8\docs\docs\coding-actions.html
           

          在使用Struts2標簽這一章節中,我們實現了登錄表單,在編寫Action章節中,我們解釋登錄表單,并且根據不同的情況返回不同的結果碼。

           如果你已經編碼完成,你可以用如下鏈接打開登錄的Action

          http://localhost:8080/tutorial/Logon.action

           并且輸入一個合適的用戶名和密碼。因為你沒有給這個Action任何的行為,映射重新顯示了默認的Logon.jsp頁面。

           讓我們新增一個Action類來使得登錄表單更加有意思。

          一.      代碼

          像例子中所示的,我們能夠檢查用戶名和密碼的值。如果其中一者或兩者都為空,返回輸入頁面,否則,返回SUCCESS對應的頁面,Logon.java對應的代碼如下:

          package tutorial;
          import com.opensymphony.xwork2.ActionSupport;
          public class Logon extends ActionSupport {

              
          public String execute() throws Exception {

                  
          if (isInvalid(getUsername())) return INPUT;
                  
          if (isInvalid(getPassword())) return INPUT;
                  
          return SUCCESS;
              }


              
          private boolean isInvalid(String value) {
                  
          return (value == null || value.length() == 0);
              }


              
          private String username;
              
          public String getUsername() {
                  
          return username;
              }

              
          public void setUsername(String username) {
                  
          this.username = username;
              }


              
          private String password;
              
          public String getPassword() {
                  
          return password;
              }

              
          public void setPassword(String password) {
                  
          this.password = password;
              }


          }

          二。代碼是如何工作的?

           框架自動為我們的usernamepassword屬性完成組裝功能。我們所需要做的就是核對是否其中有屬性為空。


          三.   需要記住的東西

           web應用程序中,Action做了重量級的工作。Action與數據庫系統和業務規則引擎相互作用,以便我們能夠把一些簡單的HTML變成復雜的、動態的web體驗。

           在做了這些工作之后,Action返回了一個結果碼來指明框架下一步應該做什么工作。通常,下一步是跳轉到成功結果頁面,但在某些情況下,我們需要跳轉到錯誤結果頁。還在某一些情況下,Action不用擔心產生的回應,僅僅決定哪些邏輯結果需要在下一步呈現。

          下一章:選擇結果
          上一章:使用Struts2的標簽

          posted on 2007-07-31 08:57 阿蜜果 閱讀(2328) 評論(2)  編輯  收藏 所屬分類: Struts2


          FeedBack:
          # re: Struts2學習進階(四)——編寫Action
          2007-07-31 11:03 | bigbigbig
          不錯,不錯。就跟你一起學習struts2了。記得經常更新哦  回復  更多評論
            
          # re: Struts2學習進階(四)——編寫Action
          2007-07-31 12:28 | 阿蜜果
          @bigbigbig
          最近會根據我學習的情況寫或翻譯《Struts2學習進階》的一系列文章
          敬請關注
          :)  回復  更多評論
            
          <2007年7月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

                生活將我們磨圓,是為了讓我們滾得更遠——“圓”來如此。
                我的作品:
                玩轉Axure RP  (2015年12月出版)
                

                Power Designer系統分析與建模實戰  (2015年7月出版)
                
               Struts2+Hibernate3+Spring2   (2010年5月出版)
               

          留言簿(263)

          隨筆分類

          隨筆檔案

          文章分類

          相冊

          關注blog

          積分與排名

          • 積分 - 2295633
          • 排名 - 3

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 公安县| 旅游| 泗水县| 涡阳县| 河南省| 通城县| 休宁县| 抚顺市| 务川| 凤庆县| 临沧市| 崇义县| 古浪县| 三明市| 佛冈县| 福贡县| 青州市| 乐至县| 金湖县| 永新县| 莆田市| 莱西市| 泸溪县| 东兰县| 宜黄县| 图木舒克市| 新沂市| 响水县| 肃宁县| 德令哈市| 富平县| 梧州市| 塘沽区| 桐梓县| 河南省| 兴义市| 玉溪市| 镇沅| 文昌市| 年辖:市辖区| 镇巴县|