首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Strut2 - 在下一个Action中获取Property值

在Struts2中,要在下一个Action中获取Property值,可以使用Session或者Application作用域。以下是一个简单的例子:

  1. 在Action中设置属性值:
代码语言:java
复制
public class FirstAction extends ActionSupport {
    private String name;

    public String execute() {
        // 设置属性值
        name = "John Doe";

        // 将属性值存储到Session作用域
        Map<String, Object> session = ActionContext.getContext().getSession();
        session.put("name", name);

        return SUCCESS;
    }
}
  1. 在下一个Action中获取属性值:
代码语言:java
复制
public class SecondAction extends ActionSupport {
    private String name;

    public String execute() {
        // 从Session作用域中获取属性值
        Map<String, Object> session = ActionContext.getContext().getSession();
        name = (String) session.get("name");

        return SUCCESS;
    }
}

在这个例子中,我们首先在FirstAction中设置了一个属性值name,并将其存储到Session作用域中。然后,在SecondAction中,我们从Session作用域中获取了这个属性值。

这种方法可以用于在不同的Action之间传递数据。请注意,Session作用域是基于会话的,因此,如果您希望在多个会话之间共享数据,可以使用Application作用域。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java获取一个数组的最大和最小

1,首先定义一个数组; //定义数组并初始化 int[] arr=new int[]{12,20,7,-3,0}; 2,将数组的第一个元素设置为最大或者最小; int max=arr[0...];//将数组的第一个元素赋给max int min=arr[0];//将数组的第一个元素赋给min 3,然后对数组进行遍历循环,若循环到的元素比最大还要大,则将这个元素赋值给最大;同理,若循环到的元素比最小还要小...,就将arr[i]赋给最大 max=arr[i]; } if(arr[i]<min){//如果arr[i]小于最小,就将arr[i]赋给最小...main(String[] args) { //定义数组并初始化 int[] arr=new int[]{12,20,7,-3,0}; int max=arr[0];//将数组的第一个元素赋给...max int min=arr[0];//将数组的第一个元素赋给min for(int i=1;i<arr.length;i++){//从数组的第二个元素开始赋值,依次比较

6.2K20

在DWR实现直接获取一个JAVA类的返回

在DWR实现直接获取一个JAVA类的返回     DWR是Ajax的一个开源框架,可以很方便是实现调用远程Java类。但是,DWR只能采用回调函数的方法,在回调函数获取返回,然后进行处理。...那么,到底有没有办法直接获取一个方法的放回呢?...,上面那段话执行后会显示test,也就是java方法的返回。...但是,采用回家函数不符合我们的习惯,有些时候我们就想直接获取返回进行处理,这时候就无能为力了。 我们知道,DWR是Ajax的框架,那么必然拥有了Ajax的特性了。...现在,让我们打开DWR的engine.js文件,搜索一个asyn,马上,就发现了一个setAsync方法,原来,DWR是这个方法设置成属性封装起来了。这样,我们就可以实现获取返回的功能了。

3.2K20

SpringMVC和Struts2的区别

一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url,而struts2的架构实现起来要费劲,因为Struts2Action...搞的就比较乱,虽然方法之间也是独立的,但其所有Action变量是共享的,这不会影响程序运行,却给我们编码 读程序时带来麻烦,每次来了请求就创建一个Action一个Action对象对应一个request...(7) 面向切面编程的思想在Strut2也有了很好的体现。...缺点 (1) Struts2Action取得从jsp传过来的参数时还是有点麻烦。...假设从JSP1获得了参数money=100000,但是这个Action还要输出到JSP2,但是输出的格式却不同,money=100,000,这样这个Action的money就变了。

3.3K20

Java企业面试——SSH框架

Struts2的Action可以实现框架提供的Action接口也可以不实现这个接口。实际上框架Strut2Action的要求很低,只要一个类,包含一个无参的、返回类型为String的方法就行。...其实Struts2的Action就是一个POJO。如果用户写一个类实现框架提供的Action接口或者继承框架提供的ActionSupport类, 则可以利用框架的其他一些功能。...比如在,Action接口中定义了一些常量,这些常量通常作为返回共处理方法调用。 由于Struts2的Action对框架API和Servlet API的依赖减少,因此可测程度大大提高。...面向切面编程的思想在Strut2也有了很好的体现。最重要的体现就是拦截器的使用。...其次,在开发过程,我们需要某个类的实例时,是由使用者为我们提供该类的实例。而不是自己去获取

97070

java之struts2的数据处理

属性驱动方式 要求页面的表单项的名称与Action处理类的属性名一样, 并且在Action处理类中提供属性的get/set方法。这样就可以在Action处理方法获取表单的数据值了。...如果是转发,也可以在页面通过el表达式把Action处理类的属性获取到${属性名}。...2.对象驱动方式 在servlet处理获取表单项的后,需要手动创建对象。 在struts2,提供了一种对象驱动方式,可以直接在Action处理类获取对象,不再需要手动创建对象。...,可以看出,当不需要再处理类获取对象时,应该采用属性驱动; 当属性较少,并且需要在处理类获取对象时应该采用对象驱动; 当属性较多,并且需要在处理类获取对象时应该采用模型驱动; 实际开发,跟团队保持一致...一般都是在对象驱动和模型驱动中选择 补充: 响应数据 在页面获取struts2的响应数据有2个要点:   1.获取的数据必须是处理类的属性,并且提供了get/set 方法   2.在页面可以通过 el

40420

JSP 六讲

取值是beans的名字,用来指定要获取哪个beans的属性的property取值是该beans的一个属性的名字。...在下面的例子,我们写了一个描述学生的beans,在一个JSP页面获得一个这样的beans,其有效范围是page。在JSP页面中使用动作标签设置、获取该beans的属性。  ...注:使用这种方式设置和获取beans的很方便,我们把汉字的处理放在了beans,但需要注意的是,如果使用第1种方式,不要在beans处理汉字,而应当在JSP页面处理。...那么你只要将这些类的字节码文件放在默认的classes目录即可,本书配置的服务器的classes目录在: D:\Tomcat\jakarta-tomcat-4.0\classes 在下面的例子8,我们使用一个...在下面的例子8,客户通过表单设置beans的extendsName属性的,beans列出相应扩展名的文件给客户。

70020

struts2标签库----数据标签详解

主要涉及以下数据标签: action标签:用于在视图页面跳转到一个Action bean标签:用于创建一个Javabean实例,按需保存到context date标签:用于格式化输出一个日期 debug...username属性,然后直接将它put到context,最后在error页面获取并打印。...首先我们是在login.jsp页面(该页面未给出,只有简单的一个文本框)提交了一个请求参数到我们的index页面,在index页面,我们使用action标签转发请求,其中指定该action标签ignoreContextParams...value="username"/> 首先我们实例化一个walker类实例并保存到context,接着我们在push标签中直接访问栈顶元素获取该实例的属性...但是我们离开push标签之后就不能获取该实例的属性值了,因为push标签结束之后会将刚刚放入root栈的元素移除。

1.1K100

【类型转换】使用c#实现简易的类型转换(Emit,Expression,反射)

大家好,好久不见,最近遇到了一个场景,就是在FrameWork的asp.net mvc,有个系统里面使用的是EntityFramework的框架,在这个框架里,提供了一个SqlQuery的方法,这个方法很好用啊...在下面的第一个方法,我们定义了执行转换集合的方法,并返回了一个委托,我们在实际开发,都可以返回委托,最终可以将方法缓存起来,这样在后续的时候直接调用,性能提升爆炸,因为你每次创建Emit方法的时候,耗时也会挺长的...集合和单个的区别就在于集合是多了一个循环的主体,其他都和单个是一样的,以及集合的代码块,我没有添加try catch的代码块。...source,以及从source那指定索引的item,以及返回res,异常的定义和异常的message,在下面就是循环两个公共属性的信息,调用bind方法,从item的里面拿出sourceproperty...), action.Method, //调用action拿名称 Expression.Property(

14110

Struts2之OGNL的使用

栈(valueStack) 栈就是存储Action的信息,包括其中定义的成员变量和其他的一些自己的属性,比如error,fieldError,如果想要让action属性在显示或者获取,一定要为这些属性设置...['name']"/> 访问action的属性 action都是存放在,我们可以使用OGNL读取值栈的数据 使用上面的LoginAction...#this>2}"/> [N]语法 我们知道一次请求值栈可以存放两个或者多个action(只需要设置result跳转类型为chain即可完成在action之间的跳转),那么我们一般取值栈默认是获取栈顶的...action,但是如果有多个action呢,此时我们需要获取其他action的数据,这下就要用到[N]语法了 [N].propertyName可以用来指定从的从上向下数位置N的action的属性...我们想要获取LoginAction属性user的,在的位置是第二个,那么此时使用[1].propertName User对象的name:<s:property value="[1].user.name

1.3K50

14.腾讯云物联网设备端学习---数据模板应用开发

USR_PROPERTY_INDEX_POWER, } UsrPropertyIndex; //初始化 void usr_data_template_init(void); //获取非结构体类型的数据模板...//获取结构体类型的数据模板 DataTemplatePropertyValue usr_data_template_property_struct_value_get(UsrPropertyIndex.../获取行为输入参数的数据模板 DataTemplatePropertyValue usr_data_template_action_input_value_get...action消息:回调设置输入参数属性,然后读取属性进行处理 method_action_callback->usr_data_template_action_parse->usr_data_template_action_input_value_get...get_status消息:回调设置control消息的属性,然后读取属性进行处理 method_get_status_reply_callback->usr_data_template_property_parse

4.4K41

SSH框架完全整合 整合Spring和Hibernate:Spring整合Struts2

-- 将Action交由Spring来管理 ref里面的studentservice引用的是上面的bean,这个是多例的,因为每个请求对应一个Action,不能多个用户共用一个Action-->...,另一个是openSession,它们两个获取的session的区别是,getSession获得的session必须要在事务执行,也就说没有事务是不能获取session的,当我们使用session.load...所以我们需要在web.xml添加一个过滤器,来获取session,这个过滤器的名字叫做OpenSessionInViewFilter,添上这个过滤器后,当我们进行延时加载的话,就不会再出现no session...在OpenSessionInViewFilter的源码获取session是利用的SessionFactory,也就是我们自己在Spring的注册的SessionFactory,且在里面,这个类有一个默认的...具体原因是:Struts2的核心过滤器,当有Action请求的时候,会执行executeAction方法,即执行Action,不会有chain.doFilter(执行下一个过滤器),有源码有真相:

2.4K50

Struts2第三天:Struts2的栈和OGNL表达式

El从域对象获取数据,OGNL调用对象的方法获取Struts2栈的数据。OGNl其实是第三方的表达式语言。...ValueStack是Struts2的一个接口,字面意义为栈,OgnlValueStack是 ValueStack的实现类,客 户端发起一个请求,struts2架构会创建一个action实例同时创建一个...OgnlValueStack栈实例, OgnlValueStack贯穿整个Action的生命周期,struts2使用OGNL将请求Action的参数封装为对象存储到,并通过OGNL表达式读取值栈的对象属性...Context区域:主要是一个Map,里面放置的是web开发常用的对象数据引用。获取context的数据需要加#。..."/> 2.1.6获得栈数据 获取值栈的数据在页面中使用OGNL表达式即可

35541
领券