Java 在Struts 2中保留多个JSP和操作之间的值
我的Struts项目结构如下:Java 在Struts 2中保留多个JSP和操作之间的值,java,jsp,struts2,ognl,struts2-interceptors,Java,Jsp,Struts2,Ognl,Struts2 Interceptors,我的Struts项目结构如下: page1->action1->page2->action2->page3 我需要的是我在page1的输入标签中输入的值可以在action2中访问 这是我的代码: 第1页: 输入id: 行动1: 添加的公共类扩展了ActionSupport{ 私有int-txtid; //接二连三 @凌驾 公共字符串execute()引发异常{ 返回“成功”; } } 第2页: 您输入的id是: 名字: 姓氏: 年龄: 行动2: 公共类AddForm扩展了Acti
page1
->action1
->page2
->action2
->page3
我需要的是我在page1
的输入标签中输入的值可以在action2
中访问
这是我的代码:
第1页:
输入id:
行动1:
添加的公共类扩展了ActionSupport{
私有int-txtid;
//接二连三
@凌驾
公共字符串execute()引发异常{
返回“成功”;
}
}
第2页:
您输入的id是:
名字:
姓氏:
年龄:
行动2:
公共类AddForm扩展了ActionSupport{
私有字符串txtfname;
私有字符串txtlname;
私人int txtage;
私有int-txtid;
//接球手和接球手
@凌驾
公共字符串execute()引发异常{
返回“成功”;
}
}
把所有的东西都展示出来
第3页:
ID:
名字:
姓氏:
年龄:
这就是我面临的问题,因为txtid
显示为null
,从中我推断值没有从page2
传递到action2
我想出的一个解决办法是使用
在希望保持字段值从一个操作传递到另一个操作的情况下,可以配置字段的范围。只需在每个操作中放置具有getter和setter的相同字段,在您的情况下,它将是action1
和action2
。字段名为txtid
。除了不包括在defaultStack
中之外,您还应该在操作配置中引用它
例如:
如果您的操作需要其他功能,您应该在操作配置中构造自定义堆栈或引用其他拦截器。为什么要使用页面->操作而不是操作->页面?我需要首先从用户处获取id,这就是为什么必须首先显示第1页。在提交第1页时,struts操作名为action1,然后显示第2页,但您切断了action2,在该操作中,您希望txtid2中有一个值,因此我不明白您想要什么。@RomanC我编辑了我的问题,在第3页中只显示txtfname、txtlname和txtage,从第1页结转过来的txtid为空。这工作得很好,谢谢你的回答!看来我得回去复习一些基础知识了。