Struts2接收參數的幾種方式
一、用Action屬性
在action里定義要接收的參數,并提供相應的set和get方法。
如:
public class LoginAction extends ActionSupport {
private String username;
private String password;
//對應的get set方法
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String execute() {
// TODO Auto-generated method stub
System.out.println("username = "+username);
System.out.println("password = "+password);
return SUCCESS;
}
}<form action="login" method="post">
用戶名:<input type="text" name="username"><br/>
密 碼:<input type="password" name="password"><br/>
<input type="submit" value="提交">
</form>二、使用DomainModel
如果Action中屬性過多,則可以Model保存為一個對象,并提供get和set
Model類
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
Action類
public class LoginAction extends ActionSupport {
private User user;
public String execute() {
// TODO Auto-generated method stub
System.out.println("username = "+user.getUsername());
System.out.println("password = "+user.getPassword());
return SUCCESS;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
JSP
<form action="login" method="post">
用戶名:<input type="text" name="user.username"><br/>
密 碼:<input type="password" name="user.password"><br/>
<input type="submit" value="提交">
</form>
三、使用ModelDriven(模型驅動)
使用模型驅動模式時,Acton必須實現ModelDriven接口,實現該接口則必須實現getModel()方法,該方法用于把Action和與之對應的Model實例關聯起來。
Model類同DomainModel
Action類
public class LoginAction extends ActionSupport implements ModelDriven<User> {
private User user = new User(); //需實例化
public String execute() {
// TODO Auto-generated method stub
System.out.println("username = "+user.getUsername());
System.out.println("password = "+user.getPassword());
return SUCCESS;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public User getModel() {
// TODO Auto-generated method stub
return user;
}
}
JSP
<form action="login" method="post">
<!-- 屬性可以為 對象.XXX 也可以直接為XXX 則前提Action中要自己實例化Model對象 -->
用戶名:<input type="text" name="user.username"><br/>
密 碼:<input type="password" name="password"><br/>
<input type="submit" value="提交">
</form>
四、使用request接收參數
此方法和傳統的JSP頁面接收參數一樣,用request.getParameter("")方法。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!