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

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

 

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

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

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

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

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

 

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

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    // 添加
    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时的情况

1
2
3
4
5
    <!-- 通配符方式调用 -->
    <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页面,加上错误显示信息(显示区域自己决定吧)

1
2
    <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

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

posted @ 2017-08-01 15:48  软件思维  阅读(184)  评论(0编辑  收藏  举报