Struts2三种传参方式(从jsp页面传到Action)
生活随笔
收集整理的這篇文章主要介紹了
Struts2三种传参方式(从jsp页面传到Action)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
多的不說,直接上代碼;struts.xml代碼:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts><package name="login" namespace="/user" extends="struts-default"><action name="*_*" class="com.wepull.struts2.action.{1}Action"method="{2}"><result name="success">{1}_{2}.jsp</result><result name="input">User_toLogin.jsp</result></action>
</package>
</struts>第一種傳參方式:import com.opensymphony.xwork2.ActionSupport;
/*** Struts2三種傳參方式(從jsp頁面傳到Action)** 方式一:直接在action中寫屬性,然后寫set、get方法* 1.在Action里添加屬性,屬性名要對應jsp上的屬性名* 2.添加相應的set方法**/
public class UserAction extends ActionSupport {
private String name;
private String pass;
public String getName() {return name;
}
public void setName(String name) {this.name = name;
}
public String getPass() {return pass;
}
public void setPass(String pass) {this.pass = pass;
}public String doLogin(){String forward="input";//System.out.println(name+" "+pass);if("wepull".equalsIgnoreCase(name)&&"123".equalsIgnoreCase(pass)){return SUCCESS; //登錄成功,返回成功頁面}else{return forward; //登錄失敗,返回重新登錄}
}public String toLogin(){return SUCCESS; //進入登錄頁面
}}------------------------------------------------------------------------------------------------------------------------------User_toLogin.jsp頁面:<form action="user/User_doLogin"><table><tr><td>用戶名</td><td><input type="text" name="name"></td><td>?</td></tr><tr><td>密 碼</td><td><input type="text" name="pass"></td><td>?</td></tr><tr><td><input type="submit" value="sure" ></td><td><input type="reset" value="reset" ></td><td>?</td></tr></table></form>##########################################################################第二種傳參方式:import com.opensymphony.xwork2.ActionSupport;
/**
* Struts2三種傳參方式(從jsp頁面傳到Action)
*
* 方式二:把屬性封裝到dto中,傳值時以dto名字.其中屬性
* 1.在Action里添加屬性,屬性名要對應jsp上的屬性名
* 2.添加相應的set方法
*
*/
public class UserAction extends ActionSupport {
private UserDTO user;
public UserDTO getUser() {return user;
}
public void setUser(UserDTO user) {this.user = user;
}public String doLogin(){String forward="input";//System.out.println(user.getName()+" "+user.getPass());if("wepull".equalsIgnoreCase(user.getName())&&"123".equalsIgnoreCase(user.getPass())){return SUCCESS; }else{return forward;}
}public String toLogin(){return SUCCESS;
}
}------------------------------------------------------------------------------------------------------------------------------UserDTO.java代碼public class UserDTO {
private String id;
private String name;
private String pass;
public String getId() {return id;
}
public void setId(String id) {this.id = id;
}
public String getName() {return name;
}
public void setName(String name) {this.name = name;
}
public String getPass() {return pass;
}
public void setPass(String pass) {this.pass = pass;
}
}------------------------------------------------------------------------------------------------------------------------------User_toLogin.jsp頁面:<form action="user/User_doLogin"><table><tr><td>用戶名</td><td><input type="text" name="user.name"></td><td>?</td></tr><tr><td>密 碼</td><td><input type="text" name="user.pass"></td><td>?</td></tr><tr><td><input type="submit" value="sure" ></td><td><input type="reset" value="reset" ></td><td>?</td></tr></table></form>##########################################################################第三種傳參方式:import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
/**
* Struts2三種傳參方式(從jsp頁面傳到Action)
*
* 方式三:實現ModelDriven
* 實現ModelDriven接口
*
*/
public class UserAction extends ActionSupport implements ModelDriven<UserDTO>{
private UserDTO user;public UserDTO getUser() {return user;
}
public void setUser(UserDTO user) {this.user = user;
}public String doLogin(){String forward="input";//System.out.println(user.getName()+" "+user.getPass());if("wepull".equalsIgnoreCase(user.getName())&&"123".equalsIgnoreCase(user.getPass())){return SUCCESS; }else{return forward;}
}public String toLogin(){return SUCCESS;
}
public UserDTO getModel() {if(user==null){user=new UserDTO();}return user;
}
}------------------------------------------------------------------------------------------------------------------------------User_toLogin.jsp頁面:<form action="user/User_doLogin"><table><tr><td>用戶名</td><td><input type="text" name="name"></td><td>?</td></tr><tr><td>密 碼</td><td><input type="text" name="pass"></td><td>?</td></tr><tr><td><input type="submit" value="sure" ></td><td><input type="reset" value="reset" ></td><td>?</td></tr></table></form>&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&另外,在介紹一種通過HttpServletRequest request 傳參方式import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
/**
* 獲取request參數的方式
*HttpServletRequest request 傳參方式
*
*/
public class UserAction extends ActionSupport{public String doLogin(){//獲取request對象HttpServletRequest request=ServletActionContext.getRequest();//獲取session對象//HttpSession session=request.getSession();String name=request.getParameter("name");String pass=request.getParameter("pass");String forward="input";if("wepull".equalsIgnoreCase(name)&&"123".equalsIgnoreCase(pass)){return SUCCESS; }else{return forward;}
}public String toLogin(){return SUCCESS;
}}
總結
以上是生活随笔為你收集整理的Struts2三种传参方式(从jsp页面传到Action)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HibernateTemplate、Hi
- 下一篇: struts2从action向jsp传参