struts2-01:作用域传值

简介: 方式一、使用ServletActionContext(耦合度高,不建议使用) public String login(){ ServletActionContext.getRequest().

方式一、使用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";
 }

 

目录
相关文章
|
3月前
|
JavaScript 前端开发 Python
函数与作用域
编程中的函数与作用域概念。函数是可重用的代码块,能提高代码的可读性、可维护性和复用性。基础用法包括定义、调用和返回值。高级用法涉及函数嵌套、匿名函数(lambda函数)和装饰器。装饰器能在不修改原函数代码的情况下添加功能。 作用域决定了变量的可见范围,从内到外是局部、嵌套、全局和内置作用域。闭包是能访问外部函数变量的内部函数,即使外部函数执行完毕,闭包仍能保留其状态。闭包常用于实现特殊功能,如记忆化和延迟执行。 立即执行函数表达式(IIFE)是JavaScript中的模式,用于创建私有作用域和防止变量污染全局。IIFE常用于封装变量、避免命名冲突以及实现模块化和函数作为参数传递。
|
3月前
|
JavaScript 前端开发 Java
什么是作用域,它的作用是什么?
什么是作用域,它的作用是什么?
34 1
|
前端开发 Java C++
Bean的作用域
Bean 常见的 6 种作用域
|
10月前
|
Java
Struts2的几种传参方法
Struts2的几种传参方法
|
XML Java Maven
springBean的作用域
springBean的作用域
60 3
|
12月前
|
前端开发 Java Spring
SpringMVC传值方式
SpringMVC传值方式
48 0
|
Java Spring
SpringBean的作用域
SpringBean的作用域
|
XML Java 数据格式
一文了解Bean的作用域
了解Bean的作用域
|
Linux 网络架构
暂时性死区以及函数作用域
暂时性死区以及函数作用域
146 0
struts2中获取作用域的2种方式,RequestAware
struts2中获取作用域的2种方式,RequestAware
77 0
struts2中获取作用域的2种方式,RequestAware