我是Struts2的新手,嘗試在我的表單中使用addFieldError
,標記爲<s:select>
。 我有一個表格,我必須從下拉列表中選擇一個值。第一次顯示此表單時,響應來自一個Action類,我在其中創建了一個List。在我的表單我正在打印該表中使用<s:select>
標籤這樣的下拉:addFieldError中的錯誤與Struts2中的<s:select>
<s:form action="clientselect">
<h2>Select Client to add the case :</h2>
<table>
<s:select list="list" headerKey="-1" headerValue="Select Client"
label="Select Client" tooltip="Select the desired client" name="client">
</s:select>
<tr><td><s:submit value="Register Case" theme="simple" align="right"/></td>
<td><s:reset value="Reset" theme="simple" align="right"/></td></tr>
</table>
</s:form>
「pageinclude = ancar」打印此表。
struts.xml的
<action name="clientselect" class="casediary.JudicialCaseRegisterValidation" method="execute">
<result name="addcase">user.jsp?pageinclude=ncr</result>
<result name="error">user.jsp?pageinclude=errancar</result>
<result name="input">user.jsp?pageinclude=ancar</result>
<result name="loggedout">index.jsp?pageinclude=relogin</result>
</action>
在JudicialCaseRegisterValidation.java
public void validate()
{
if(client==null || client.equals("-1"))
addFieldError("client", "This field can not be blank.");
}
所有工作正常。錯誤條件得到滿足,結果我得到了「輸入」。錯誤消息也在打印,但下拉列表中的值已消失。名單空白。因爲此時間響應不是來自設置List的Action類。
然後我改變了我的struts.xml將請求發送到Action類從<result>
這樣的:
<result name="input" type="redirect">link.action</result>
「link.action」是什麼,是在發送Action類的要求,以創建列出並打印該表格。
但是這次窗體只是再次打印&沒有打印錯誤消息。
我希望再次打印列表以及錯誤消息。請告訴如何。?
謝謝爲安德烈的提示。你能回答[這個問題](http://stackoverflow.com/questions/16602464/can-we-use-sradio-tag-without-passing-the-collection-in-the-list-attribute)也.. ..? –