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注入數據,請參考第三種獲取值方式;