Struts2中

michaelfai 2008-11-07 04:10:51
myAction1的SUCCESS是myPage.jsp,并且myAction1提供myPage.jsp所需的数据
myPage.jsp的form提交到myAction2

问题是当myAction2检查到myPage.jsp表单填写不合法时,怎样设置myAction2的input返回到原来填写表单的页面?

直接用<result name="input">/myPage.jsp</result>不行,因为myPage.jsp需要myAction1提供的数据
用<result name="input" type="redirectAction">myAction1</result>会到myPage.jsp但是myAction2中添加的error都没有了
用<result name="input" type="chain">myAction1</result>也不行,会跳的myAction1的input中

请问到底应该怎样设置?谢谢!!
...全文
1743 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
潇水汀寒 2012-03-10
  • 打赏
  • 举报
回复
好贴mark LZ说的对
测试了一下
用<result name="input" type="chain">myAction1</result>也不行,会跳到myAction1的input中
并且myAction1和myAction2对应方法在同一action类中的话 action中的值不会丢失
至于是不是同一个action实例 待我测试来....
cccyg 2011-07-18
  • 打赏
  • 举报
回复
很好的贴了,我过来瞅瞅
pxcong007 2008-12-29
  • 打赏
  • 举报
回复
问题的关键就集中在数据是否能让struts缓存和重新从数据库中取数据之间的权衡上,

个人建议, 你的从数据库中拉取数据的方法, 放在对应的set(get)方法中。
如name
....
getName() {
XxxxService.getName();
}

....

这样不管你的数据验证有没通过, 都会从库中取得数据。
l402674012 2008-12-29
  • 打赏
  • 举报
回复
你的myAction1 与myAction2 是否在同一个action类里,如果这样的话在你的
return INPUT; 前面调用一下你的那个得到数据的方法this.方法();
如果不在同一个类中可以重定向到得到数据的一个action中,这个action跳转的页是你的myPage.jsp
action重新定义一个,引用的方法是你的那个得到数据的方法。
灰木炭 2008-12-27
  • 打赏
  • 举报
回复
我的做法:在myPage.jsp中
<s:action name="myAction1" id="myAction1" flush="true" namespace="/" />
这样myPage.jsp就有了myAction1传过来的数据了,你试试
jumpheightway 2008-11-07
  • 打赏
  • 举报
回复
这个是需要写验证的
michaelfai 2008-11-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 laitaogood 的回复:]
我觉得还是用校验框架吧,这样当你出现校验数据错误的时候,还能回到myPage页面
好像校验框架有个设置,就是保留原始数据的
[/Quote]
我用的就是校验框架。关键是回到myPage.jsp后没有了从myAction1传过来的数据了……
michaelfai 2008-11-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yihaijian1 的回复:]
myAction1的input中?myAction1有input吗?myAction1不是你在程序中自己设置的数据吗?
[/Quote]
myAction1没有设置input,只有success。控制台输出的错误信息是myAction1的result没有配置input,所以即使配置了input也不会转到我想要的myPage.jsp
laitaogood 2008-11-07
  • 打赏
  • 举报
回复
我觉得还是用校验框架吧,这样当你出现校验数据错误的时候,还能回到myPage页面
好像校验框架有个设置,就是保留原始数据的
时光瞄 2008-11-07
  • 打赏
  • 举报
回复
myAction1的input中?myAction1有input吗?myAction1不是你在程序中自己设置的数据吗?

67,541

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧