如何防止表單bean域在提交驗證時被重置。這裏的東西是,這個表單字段不是jsp上的輸入字段。它顯示爲正常的HTML類文本的..Struts Form bean在提交時不重置表單域
<div class="label">
<fmt:message bundle="${labels}" key="gender" />
</div>
<div class="data">
<bean:write property="gender" name="infoForm"/>
</div>
正在發生的事情是,當我點擊提交按鈕,如果有任何驗證錯誤,其他所有輸入字段填入再次但是這一個性別字段是不是所示。
我的猜測是因爲這裏的性別屬性不是輸入字段,當表單在驗證之前或之後重置時,性別值未填充。我對麼?如果是這樣,我能做些什麼來不重置這個特定領域?
(或者,如果它已經存在正確顯示,正如OP聲稱的那樣)。 –
@JB Nizet:謝謝你的回覆。信息來自數據庫。那麼在提交之後,我是否再次將它重新放在表單中?如果有任何驗證錯誤,表單將被髮回查看並且它不會通過操作類。 – RKodakandla
這就是爲什麼Struts 1裏吸的原因之一:驗證應採取的行動的形式來處理,而不是。但是你可以禁用自動錶單驗證,自己調用validate方法中的動作,並填充表格並轉發到輸入前進。如果可以的話,肯定切換到條紋或Spring MVC的至極的,恕我直言,確實比Struts 1更好。 –