我所学习的视频讲解的是Struts1.2, 他是用了ActionError添加到ActionErrors的方式来实现手动验证
在1.3中ActionError这个类已经被去除了, 通过查阅 Struts1.2->1.3的差别, 现是用如下写法
Step1
username : <html:text property="username"/><html:errors property="username"/>
首先确保表单中的控件后有设置这一property
Step2
在配置文件中加入键值对
login.username.error=\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A
后面其实是UTF-8的编码, 意思是用户名不能为空
Step3
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
if(username==null || username.trim().equals("")){
ActionMessage m = new ActionMessage("login.username.error");
errors.add("username",m);
return errors;
}
return null;
}
仅对username就行验证
虽然ActionError被删除了, 但是ActionErrors还是在的
new一个ActionErrors, 往其中添加的不再是ActionError而是ActionMessage
故new一个ActionMessage, 构造方法中的参数即配置文件中键值对的键
再将m其add进errors里, 这里的第一个参数就是Step1里的property, 第二个参数就是要add的m
最后return errors
这样当填写的用户名为空时, 就会在输入栏的右方显示错误信息了