我正在尝试在Struts中创建一个登录页面。想法是验证用户是否存在等,然后,如果有错误,请返回登录页面,并以红色显示错误(典型的登录或任何表单页面验证)。
我想知道是否有人知道Struts中的错误管理教程。我正在寻找专门的教程(或示例)
<html:errors>
标签,我认为这可以解决我的问题。
这是一个简短的摘要。您有一ActionForm堂课,说MyForm:
ActionForm
MyForm
<form-bean name="myForm" type="myapp.forms.MyForm"/>
您有一Action堂课,说MyAction:
Action
MyAction
<action path="/insert" type="myapp.actions.MyAction" name="myForm" input="/insert.jsp" validate="true" /> <forward name="success" path="/insertDone.jsp"/> </action>
操作中的“名称”是指form-bean中的“名称”。因为你有validate="true"你的ActionForm类MyForm必须定义validate()方法,该方法将自动被调用:
validate="true"
validate()
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { ActionErrors errors = new ActionErrors(); if ((username==null) || (username.length() < 1)) errors.add("username", new ActionError("error.username.required")); return errors; }
如果返回空的ActionErrors对象,Struts继续调用MyAction.execute()。否则,Struts将显示/insert.jsp(因为这是您提供的input = parm),并展开html.errors标记以显示ActionErrors中的错误。