struts教程或示例

我正在尝试在Struts中创建一个登录页面。 想法是validation用户是否存在等,然后如果有错误,返回到登录页面,错误为红色(典型登录或任何表单页面validation)。

我想知道是否有人知道Struts中的错误管理教程。 我正在寻找专门的教程(或示例)

 

标签,我认为这将解决我的问题。

这是一个快速摘要。 你有一个ActionForm类,比如MyForm

  

你有一个Action类,比如MyAction

    

动作中的“name”指的是form-b​​ean中的“name”。 因为你有validate="true"你的ActionFormMyForm必须定义自动调用的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.