struts2-01:作用域傳值
阿新 • • 發佈:2018-06-28
傳值 作用 頁面 PE return UC ret user IT
方式一、使用ServletActionContext(耦合度高,不建議使用)
public String login(){ ServletActionContext.getRequest().getSession().setAttribute("user","王彬"); return "success"; } Struts.xml <action name="login" class="cn.xcq.entity.Action1" method="login"> <result>/success.jsp</result> </action> Success.jsp<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %> <html> <head> <title>Title</title> </head> <body> <h1>成功頁面</h1> ${sessionScope.user} </body> </html>
方式二、實現接口
這個案例使用session作用域,所以實現SessionAware接口 Struts2底層將作用域都封裝成了Map。public class Action1 implements SessionAware { //聲明一個Map private Map<String, Object> session; //使用session需 實現sessionaware接口 //requesr RequestAware接口。。。。 public String login(){ session.put("user","程高升"); return "success"; } //重寫SessionAware的setSession方法,將聲明的session賦值給它 @Overridepublic void setSession(Map<String, Object> map) { this.session=map; } } Success.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %> <html> <head> <title>Title</title> </head> <body> <h1>成功頁面</h1> ${sessionScope.user} </body> </html>
方式三、ActionContext
//方式三 public String login(){ //session Map<String, Object> session = ActionContext.getContext().getSession(); session.put("user","林帥"); //request Map<String, Object> request =(Map<String, Object>) ActionContext.getContext().get("request"); request.put("name","程高升"); return "success"; }
struts2-01:作用域傳值