struts validator的问题

奇伢 2006-03-16 06:09:19
我的form的页面中有request域的值attribute.

我用服务器端验证,一跳的话,request的值就丢失了。我又不想用session。

有没有什么办法解决?
...全文
143 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
奇伢 2006-03-20
  • 打赏
  • 举报
回复
yinj(笑笑生) 理解的没有错,我试试啊.
yinj 2006-03-18
  • 打赏
  • 举报
回复
我理解你是从A->B,这时的request里有数据用于描画B页,B页表单提交时验证,错误的话在返回B页。
是这样吧?
A->B是一个request(a),B提交后又是一个request(b),验证出多返回到B时是request(b),如果不作处理,就没有request(a)里的数据,就会出错。
如果我没理解错,改正方法就有很多种了,
1,验证失败后在request里添加必要的值用于描画B页
2.改写B也,如果显示B也时发现缺少某些数据,就跳转到一个action,在那个action里生成必要数据,在返回B,不过这样errors信息好像又没了
3,验证失败后不要返回B的那个JSP,返回到A->B的那个XXX.do action


等等,应该有很多方法的。
这个我以前也遇到过,当时用过1,2方法,最近才知道验证失败可以返回到一个action而不是一定返回到JSP页面,所以这个方法还没用过
peihexian 2006-03-18
  • 打赏
  • 举报
回复
我也是刚开始学struts,不知道对struts理解的对不对:

从客户端打开URL开始->装载jsp->读取struts form属性(会调用一次form的reset方法)->读取request中的内容(如果有的话)->显示->客户端做submit操作->struts客户端校验(如果你用了的话)->struts form校验->struts action->执行forward操作

估计你的request中的值是在form的reset方法中或是jsp文件中设置的吧?如一些下拉列表的列表值,你的form可以只有一个选择结果的属性,没有option的内容,你的意思是不是把这些option的内容在做完服务端验证后继续保持?

如果是的话,在服务端的校验方法中从request中读出那些非struts form的值再填到request中去不就行了?
shan1119 2006-03-17
  • 打赏
  • 举报
回复
你在页面中attribute是怎么写的?还有,你是怎么设置页面跳转的?是不是没有经过Action直接指向了页面?
奇伢 2006-03-17
  • 打赏
  • 举报
回复
关键会跳转,然后又回到该页面.
奇伢 2006-03-17
  • 打赏
  • 举报
回复
我设置了?有什么影响吗?
shan1119 2006-03-17
  • 打赏
  • 举报
回复
forward的时候redirect设成false了吗?
奇伢 2006-03-17
  • 打赏
  • 举报
回复
是我说的不太明白,还是怎么回事?
topirol 2006-03-17
  • 打赏
  • 举报
回复
贴一段代码出来看看不就很好吗?
奇伢 2006-03-17
  • 打赏
  • 举报
回复
看样子,我没有描述清楚.
校验不通过的时候不是会跳转到 input属性的里面去吗

这样的话,有些从上页取过来的东西,如果放在request域中,就丢失了.

67,513

社区成员

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

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