[Struts]学习日记2 - 增加一些验证
使用struts的一个好处就是,很多传统jsp/servlet开发中十分琐碎的事情都有规范化的方法来处理了。例如表单验证、错误提示、HTML字符过滤等等。今天简单说一说在form类里进行验证。
在上一篇文章里的LogonForm.java里加入下面这个方法:
(import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;)
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
ActionErrors errs=new ActionErrors();
if(userId.trim().equals(""))
errs.add("userId",new ActionError("error.userId.empty"));
return errs;
}
该方法验证用户是否输入了用户Id,若用户没有输入则返回登录页面并在用户Id文本框后面提示。
其中,errs.add方法的第一个参数对应/form/logon.jsp中<html:errors property="userId"/>中的property值,这个logon.jsp是向导在创建form bean时自动生成的。第二个参数会从ApplicationResources.properties文件中寻找key为error.userId.empty的值作为错误提示信息,所以在这个.properties文件中应该有error.userId.empty=<li>UserId can not be empty.</li>这么一行。