论坛首页 入门技术论坛

为什么验证返回的界面select的选项和值变为了空!

浏览 2951 次
该帖已经被评为新手帖
作者 正文
   发表时间:2006-11-28  
进入页面之前准备的数据,在用户提交校验失败后的返回页面中在action中构造的list对象丢失。
而其它信息还是存在的,包括错误信息,失效的数据状态都可以保留,唯独存放到action的一个private的list对象失效,我想就是这个对象没有压入ValueStack中,但是怎么压还不知道。

后来把该action实现了Preparable这个接口,在prepare()这个方法中设置这个私有变量的值,则数据不会丢失,因为每次invoke这个action都会先调用prepare()这个方法来构造这些数据,但是还有一个问题就是校验失败后,这个值的状态没办法保留,每次都会重新初始化,我想问问webwork中是怎么解决这个问题的,就是校验失败后保留教研前的用户录入信息,并且能保留错误提示信息?
   发表时间:2006-11-30  
各位没有遇到这样的问题吗???
0 请登录后投票
   发表时间:2006-11-30  
我这里用freemarker 给你个例子吧
<input type="hidden" name="basicInfo.id" id="basicInfo.id" value="${basicInfo?if_exists.id?if_exists"></input>

<script type="text/javascript" language="javascript">
<#if basicInfo?exists>

<#if basicInfo.diabetesTypes?exists>
var diabetesTypes="${basicInfo.diabetesTypes}";
setRadio("basicInfo.diabetesTypes",diabetesTypes);
</#if>
</#if>
</script>

0 请登录后投票
   发表时间:2006-11-30  
谢谢,但是我没看懂
0 请登录后投票
   发表时间:2006-11-30  
WW不是很懂  不过一般项目里list的东西  都是做成统一的 然后用的时候用统一的方法去取
0 请登录后投票
   发表时间:2006-12-05  
怎么没有人遇到这种情况吗
0 请登录后投票
   发表时间:2006-12-05  
phoenix 写道
怎么没有人遇到这种情况吗

faint!
好好检查一下自己的代码!
0 请登录后投票
   发表时间:2006-12-06  
我检查过了,真是不知道怎么回事
0 请登录后投票
   发表时间:2006-12-06  
不好意思,我知道怎么回事了,我在表现层用的不是ww的标签,所以校验失败后不能把数据显示出来,真是抱歉了
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics