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 阿蜜果 閱讀(2330) 評論(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

          積分與排名

          • 積分 - 2295910
          • 排名 - 3

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 嵊州市| 成武县| 鹤壁市| 固安县| 泰宁县| 集贤县| 和田市| 安多县| 澄迈县| 清丰县| 库伦旗| 获嘉县| 三亚市| 平山县| 星子县| 永福县| 曲松县| 大兴区| 满洲里市| 灵川县| 禹州市| 乌兰县| 河北省| 甘肃省| 镇坪县| 天全县| 石棉县| 慈利县| 东安县| 上杭县| 郎溪县| 孟村| 阳朔县| 洪泽县| 桑日县| 安徽省| 玉树县| 苍南县| 盐边县| 华亭县| 肥东县|