ApplicationResouces.properties 片段如下
...
errors.footer=</ul><hr>
errors.header=<h3><font color="red">Validation Error</font></h3>You must correct the following error(s) before proceeding:<ul>
error.username.required=<li>User Name is required</li>
error.password.required=<li>Password is required</li>
...
在logonForm.java中验证代码:
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
if ((username == null) || (username.length() < 1))
errors.add("username", new ActionMessage("error.username.required"));
if ((password == null) || (password.length() < 1))
errors.add("password", new ActionMessage("error.password.required"));
return errors;
}
然后
我表单中假如不输入username,应该调用errors.add("username", new ActionMessage("error.username.required"));这个时候,只有add了error.username.required,为什么我的页面上面连errors.footer和errors.header也显示出来了,并没有add啊,怎么回事,?还是哪里加了?
------解决方法--------------------------------------------------------
<html:errors/>
显示所有的错误信息.
如果要一条一条显示,用
<html:errors property=""/>
------解决方法--------------------------------------------------------
<html:errors/>默认的是显示request或session范围内的所有ActionMessages或ActionErrors对象内容,<html:errors property="aa"/>只显示名为aa的对象
------解决方法--------------------------------------------------------
error.header和error.footer
是自动加进去的
每一个显示error的地方都会包含这个。主要用来做error的特殊显示。