2011-07-14 87 views
0

美好的一天!Struts 2验证 - 清除错误信息

我按照this website中的说明使用了Struts2 xml验证。

问题是当我点击提交按钮两次。该错误消息也出现两次...

我的问题是...如何清除第一个错误信息之前,另一个动作处理,以适应新的一组错误信息。

enter image description here

预先感谢您。

+0

您的应用程序与Spring集成了吗? – lschin

+0

错误消息通常只存在于请求范围内。所以错误消息不需要被清除。您需要提供更多信息。 – Quaternion

回答

1

默认堆栈中有一个验证程序拦截器。你只需要使用它,并使用它非常简单。只需通过名称public void validate()在您的操作类中创建一个方法即可。在validate()中,您可以使用他们的获取者&访问这些字段,然后将所需的验证放到它们上面。

此外,使用此实现,您不必担心显示的多条消息,因为它只会显示消息中您在addFieldError方法中设置的内容,并删除以前保留的消息。

注意:请务必在validate()中使用变量的getter,因为在调用此拦截器时操作中的变量未设置。

这是一个非常好的教程链接。

http://www.vaannila.com/struts-2/struts-2-example/struts-2-validation-example-1.html

4

如果你使用,你必须定义你的bean作为scope="prototype" Spring集成,那么你得到你的行动为每个请求的新实例。 Spring的默认范围是singleton。

对每个动作都这样做是个好主意。

2

从窗体标记中删除validate="true"

0

如果您将保持validate = false,则将在提交操作上调用验证xml。

要清除每次提交点击的邮件,如果您在jsp中使用表格,请将表格保存在表单之外。它会工作。