• 关于validate


    ActionErrors validate(...){

    ActionErrors errors=new ActionErrors()

    if("".equals(userName)||userName=null){

        message=new ActionMessage("errors.name");

        errors.add("userName",message);

    }

    if("".equals(pwd)||pwd=null){

        message=new ActionMessage("errors.pwd");

        errors.add("pwd",message);

    }

    return errors

    }

    =================================================================

            以上的ActionErrors类似与一个Map,存放着若干个ActionMessageActionError已不推荐使用)对象,每个ActionMessage都有个key,类似于一个Cookie,每个ActionMessage都含有一小段验证错误信息。

          ActionErrors继承与ActionMessages,其中封装了若干条错误信息,他含有一个方法add(String property,ActionMessage message)

          ActionMessage存放的错误信息为一个String,且来源于资源文件。

      在new一个ActionMessage来封装异常信息时,存放的是key(资源文件中的key,keyvalue在资源文件中)

        struts提供了<html:errors/>标签来显示整个ActionErrors的错误信息。但要在struts-config.xml中设置<action ... input="reg.jsp">(input属性指定校验出错时所跳转的页面)

        ActionErrors对象为null或者其中没有ActionMessage,则验证成功-->执行execute方法。

        ActionErrors对象中有至少一个ActionMessage,则失效

    -->跳转到input指定的jsp页面。

        <html:errors/>显示所有的错误信息,可以在jsp页面中用<html:errors property="userName"/>来配置显示userName的错误信息。

    出错显示的步骤:

    <html:errors property="userName"/>

    1-->查找errors.add("userName",message);中的userName得到相应的message对象

    2-->message=new ActionMessage("errors.name");得到keyerrors.name

    3-->在资源文件中查找keyerrors.name所对应的value

    4-->在出错页面上显示value值。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Redis和MySQL的结合方案
    Java-CyclicBarrier的简单样例
    第十话-模板方法模式
    Codeforces 19D Points 线段树+set
    操作系统: 二级文件夹文件系统的实现(c/c++语言)
    mongodb数据库的启动和停止
    XML,HTML,XHTML
    android之ViewStub的使用
    教你实现语音识别(基于科大讯飞)
    android通过代码判断手机是否root
  • 原文地址:https://www.cnblogs.com/shipeng22022/p/4614157.html
Copyright © 2020-2023  润新知