这该如何解决哪?jsp代码如下:
<s:form action="RuleInfo_add" method="post" enctype="multipart/form-data" theme="simple">

<table width="100%" border="1">
<tr>
  <td>
      类型:
<select name="s_type" id="s_type">
<s:iterator value="typeRs" var="t">
<option value="<s:property value="#t.type_id"/>">
<s:property value="#t.type" />
</option>
</s:iterator>
</select>
   </td>
                                 </tr>
                                 <tr>
<td>
现象:
<input name="fact.fact" value="<s:property value="fact.fact"/>" />
</td>
</tr>
</table></s:form>action的validate验证失败后typeRs值变为空使得下拉列表中没有值,该如何解决?

解决方案 »

  1.   

    各位大虾们:validate验证失败后,使用<result name="input" type="redirect">/AddInput.jsp</result>这样重定向之后,typeRs值会丢失,而且jsp页面也不会显示fieldError提示信息了。如果是dispatcher的话,会显示fieldError信息,可是typeRs会变为空使得下拉列表没有值。如果是chain的话,typeRs值不会丢失,但是jsp页面就不会显示fieldError提示信息了。就没有一种能不丢失typeRs又能显示fieldError提示信息的方法吗?
      

  2.   

    typeRs你在服务器端,request.setAtributer("typeRs",typeRs);
    iteator中value="#request.typeRs"
    struts.xml配置文件中,restuls里面的type不要用redirect,重定向session和request里面的值都没了,就用默认的dispatcher就可以。
      

  3.   

    我觉得不太可能 ,我以前做的 type="dispatcher"应该是没有问题的 。。加油 ~~