struts教程或示例
我正在尝试在Struts中创建一个登录页面。 想法是validation用户是否存在等,然后如果有错误,返回到登录页面,错误为红色(典型登录或任何表单页面validation)。
我想知道是否有人知道Struts中的错误管理教程。 我正在寻找专门的教程(或示例)
标签,我认为这将解决我的问题。
这是一个快速摘要。 你有一个ActionForm
类,比如MyForm
:
你有一个Action
类,比如MyAction
:
动作中的“name”指的是form-bean中的“name”。 因为你有validate="true"
你的ActionForm
类MyForm
必须定义自动调用的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中的错误。
这是一个://struts.apache.org/1.3.5/struts-taglib/apidocs/org/apache/struts/taglib/html/package-summary.html#package_description
在这里我假设Struts 1.我不知道它是否已经改变了Struts 2。
您可以将errors.header和errors.footer放入消息资源文件中:
errors.header=Errors:
errors.footer=
仅当ActionErrors对象中包含任何错误时,才会显示页眉和页脚。
在Action类中,执行以下操作:
ActionErrors errors = new ActionErrors(); if (badInput) { errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.bad.input", badString); // key in messages resource file // badString will replace {0} in message }
然后返回:
saveErrors(request, errors);
在您的消息资源文件中:
error.bad.input=Bad input: '{0}' is invalid.
现在,当处理
标记时,它将变成:
Errors:
- Bad input: 'xxyyzzz' is invalid.
-