Struts2中jsp前臺傳值到action後臺的三種方式
阿新 • • 發佈:2019-01-28
使用者名稱:<s:textfield name="username"/><br/>
密 碼:<s:password name="password"/><br/>
<s:submit value="提交"/>
</form>
1.action中寫著同name名稱相同的屬性username 與 password 的get set方法(不推薦使用),因為一旦form向action中傳遞的引數多了,會使action中充斥很多的get set方法。
程式碼:
public class loginAction extends ActionSupport{
private String username;
private String password;
public String getxx(){};
public void setxx(){};
}
2..action 中引入jsp中向action中傳遞引數的物件User,並新增User 的get set 方法,
這樣便可以解決方法一的瓶頸,但需要注意的是jsp介面要變化一下,更改為<s:textfield name="user.username"><s:textfield name="user.password">,其實並不難理解,通過user.username與user.password 來與action中user 物件的屬性username 與password一一對應。
程式碼:
public class loginAction extends ActionSupport{
private User user;
public String getxx(){};
public void setxx(){};
}
3.通過實現ModelDriven介面接收表單資料
首先Action類必須實現ModelDriven介面,同樣把表單傳來的資料封裝起來,Action類中必須例項化該物件,並且要重寫getModel()方法
public class loginAction extends ActionSupport implementsModelDriven<Users>{
private Users users =new Users();
public Users getModel(){
return users;
}
密 碼:<s:password name="password"/><br/>
<s:submit value="提交"/>
</form>
1.action中寫著同name名稱相同的屬性username 與 password 的get set方法(不推薦使用),因為一旦form向action中傳遞的引數多了,會使action中充斥很多的get set方法。
程式碼:
public class loginAction extends ActionSupport{
private String username;
private String password;
public String getxx(){};
public void setxx(){};
}
2..action 中引入jsp中向action中傳遞引數的物件User,並新增User 的get set 方法,
這樣便可以解決方法一的瓶頸,但需要注意的是jsp介面要變化一下,更改為<s:textfield name="user.username"><s:textfield name="user.password">,其實並不難理解,通過user.username與user.password 來與action中user 物件的屬性username 與password一一對應。
程式碼:
public class loginAction extends ActionSupport{
private User user;
public String getxx(){};
public void setxx(){};
}
3.通過實現ModelDriven介面接收表單資料
首先Action類必須實現ModelDriven介面,同樣把表單傳來的資料封裝起來,Action類中必須例項化該物件,並且要重寫getModel()方法
public class loginAction extends ActionSupport implementsModelDriven<Users>{
private Users users =new Users();
public Users getModel(){
return users;
}