码迷,mamicode.com
首页 > 其他好文 > 详细

struts2-01:作用域传值

时间:2018-06-28 14:01:36      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:res   TE   实现   ret   class   bsp   put   als   java   

方式一、使用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赋值给它
@Override
public 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:作用域传值

标签:res   TE   实现   ret   class   bsp   put   als   java   

原文地址:https://www.cnblogs.com/DawnCHENXI/p/9238079.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!