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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!