看了半天了,來研究下真正的Action代碼

雖然Struts中的業務處理部分是Action負責的,但真正起作用的業務控制器不是用戶定義的Action而是系統自動生成的Action代理,但該代理以用戶定義的Action爲目標

廢話不多說,上代碼:

public class LoginAction

{

    private String uname;

    private String upwd;

    //getter方法

    public String getuname()

    {

        return uname;

    }

    public String getupwd()

    {

        return upwd;

    }

    //setter方法

   public void setuname(String uname)

   {

             this.uname=uname;

    }

    public void setupwd(String upwd)

    {

             this.upwd=upwd;

    }

    //處理用戶請求的execute方法,自動執行,並將結果通過配置文件的result標籤映射到相應的JSP頁面

    public String execute() throws Exception

    {

              if ( getuname().equals("LiLei") && getupwd().equals("HanMeiMei"))

              {

                      return "success";

              }

              else

              {

                      return "false";

               }

    }

}

當用戶提交文本框時,控制器調用該類進行處理

可以發現在通篇的代碼中沒有任何一個request方法,也就是說structs獲取參數的方式是隱式的。

也就是說自動將文本框中的數據根據文本框的name屬性查找Action中相應的變量名,然後通過setter方法將其值傳遞給Action的相應變量實現數據的傳遞方式。

             

   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章