我是 Struts2 的新手,试图addFieldError
在我的表单中使用<s:select>
标签。我有一个表单,我必须从下拉列表中选择一个值。第一次显示此表单时,响应来自一个 Action 类,我在其中创建了一个 List。<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 类中发送请求以创建列表并打印该表单的内容。
但是这次表格只是再次打印并且没有打印错误消息。
我希望再次打印该列表以及除此之外的错误消息。请告诉如何。?