《Java从入门到放弃》框架入门篇:Struts2的常用验证方式

作者: java 发布时间: 2017-09-11 浏览: 1200 次 编辑

感觉过了一个周末,人都懒得不要不要的,今天就来点简单的内容吧 - -,各位看官如果欲求不满的话,可以自行解决或再去宠幸其他“勃主”···j_0036.gif

struts2的验证方式主要有四种方式:

一、直接在功能方法中写验证代码(不要扔鸡蛋,这种办法确实算一种)

二、重写validate方法(注意这个方法会验证该类中所有的方法)

三、使用ValidateXxx方法(Xxx对应要验证的方法的方法名)

四、用struts2的验证框架(也就是使用配置文件的方式来实现,这种方法个人觉得应该属于放弃篇的内容,为什么呢?因为有的小伙伴前面三种方法都用得很Happy,一学这种方式就放弃了 - -)

不废话,上代码(这儿的上表示呈现给大伙瞅瞅,不代表我要直播“上”代码j_0057.gif):

一、直接在功能方法中写验证代码

这种比较简单,步骤也少,相信大伙一看就会。

1.1)修改Action中需要数据验证的方法,我们还是拿add方法开刀吧,用熟了,顺手...

// 添加
    public String add() {
        //编号必须是六位的数字
        if(Integer.toString(singer.getSingerID()).length()!=6){
            this.addFieldError("err_id", "编号必须是6位的数字");
        }
        //姓名不能为空
        if("".equals(singer.getSingerName().trim())){
            this.addFieldError("err_name", "姓名不能为空");
        }
         
        System.out.println("调用了添加的方法!");
        System.out.println("编号:"+singer.getSingerID());
        System.out.println("姓名:"+singer.getSingerName());
        System.out.println("地区:"+singer.getArea());
        System.out.println("留言:"+msg);
         
        if(this.hasErrors()){
            return INPUT;
        }
        return "add";
    }

1.2)修改struts.xml配置文件,加上返回结果为INPUT时的情况

<!-- 通配符方式调用 -->
    <action name="smng_*" class="com.pxy.action.Hello" method="{1}">
        <result name="{1}">/WEB-INF/jsp/singer_{1}.jsp</result>
    <result name="input">/WEB-INF/jsp/singer_{1}.jsp</result>
    </action>

1.3)修改JSP页面,加上错误显示信息(显示区域自己决定吧)

<s:fielderror fieldName="err_id"></s:fielderror>
    <s:fielderror fieldName="err_name"></s:fielderror>

1.4)调用对应方法

在地址栏输入:localhost:8888/strutsDemo/singeradd.action,最后的结果如下:

wKiom1l--djxg4jxAAAexUDbPjU582.png-wh_50

今天时间有限,先写这么多吧,后面的内容,我们下回分解!!!

本文出自 “软件思维” 博客,请务必保留此出处http://softi.blog.51cto.com/13093971/1952433