struts2-01:作用域传值

Posted 晨曦Dawn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2-01:作用域传值相关的知识,希望对你有一定的参考价值。

方式一、使用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:作用域传值的主要内容,如果未能解决你的问题,请参考以下文章

js跨域传值,兼容ie8以上

ajax异步请求/同源策略/跨域传值

iframe跨域传值踩坑

vue中插槽的使用

将一个JSP页面的若干个值传到另一个JSP页面上

(转)JSP向后台传递参数的四种方式