控制層action獲取jsp傳遞過來的參數有哪幾種:


1、通過request獲取;
HttpServletRequest request = ServletActionContext.getRequest();
String pid = request.getParater("Pid");
2、在action中分別定義表單的屬性,然后set,get方法,即可獲取jsp傳遞過來的數據;
private String pid ;
private String pname;

//省略set,get方法...
private Log log = LogFactory.getLog(HelloAtion.class);
public String register(){
log.info("獲取頁面數值pid:+pid+\t pname:"+pname);
return "reg";
}
缺點: 如果屬性過多,該類中的方法相當多。屬性跟模型中的屬性不是重名,是一種資源的浪費;

3、在action中直接定義模型bean,然后對bean進行set,get,jsp頁面上的屬性"別名.屬性名"來設置表單;
private UserBean userBean;
//省略set,get方法....
private Log log = LogFactory.getLog(HelloAction.class);
log.info("獲取頁面的參數pid:"+userBean);
return "reg";
}
缺點:jsp頁面上的表單name屬性,看着別扭;

4、在action中實現ModelDeriven接口,jsp頁面傳遞過來的數據,表單域中如果沒有指明"別名",屬性就匹配ModelDriven
中的模型bean
public class UserTwoAtion implements ModelDriven<UserBean>{}
優點:form中的表單的name名稱;
缺點:action中只能實現一個ModelDriven接口,就表示jsp頁面只能向一個模型bean中注入數據;
如果在一個action類中相同時在兩個或多個bean注入數據,請參考第三種獲取值方式;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM