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

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

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

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

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

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

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

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

):

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

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

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,最后的结果如下:

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程

java基础思维图解

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。J...

2189
来自专栏java一日一条

Java异常有多慢?

实际上,真正要讨论的问题并不是,“相对‘那些不会发生错误的代码’来说,‘那些以异常形式上报的错误’会有多慢?”,因为你可能也认同“已接受的回答”。相反,真正的问...

3512
来自专栏C语言及其他语言

C语言中EOF是什么意思?

相信很多朋友在学习C语言过程中,都看到过EOF的字样,但翻过整本C语言的书,也没有看到有这个函数或者关键字的,岂不是感觉很奇怪?难道学的不细有疏漏吗?当然不是!...

3745
来自专栏全华班

java招聘面试

过完年了,好多学习JAVA的同学在忙着找工作,大家先预习下这些基础知识 ,说不定能面试的时候考到。 基础篇 1 什么是Java、Java2、JDK?JDK后面...

4225
来自专栏Laoqi's Linux运维专列

shell脚本 + date命令语法

1K11
来自专栏Android先生

写给小白的android基础面试笔试题(二)

答:这道题呢不管是在笔试中也好面试中也好,会被经常拿来问,因为这里面涉及到的知识点甚多,这里你就要回答什么是Handler机制,有何作用,然后面试官肯定还会问,...

2703
来自专栏Java3y

多线程基础必要知识点!看了学习多线程事半功倍

2168
来自专栏程序员互动联盟

【编程基础第十三讲】代码如何写才最漂亮第二篇

存在问题: 好多小伙伴对编码的格式作用模糊,以为只要完成功能就行,其实这种观点是错误的,一定要重视代码规范,不然你哭的地都找不到。 如何实施: 良好的代码开发习...

2588
来自专栏醒者呆

精雕细琢——全方位解析单例模式

单例模式有的时候特别重要,因为某些系统是要求某个类在整个生命周期中有且只有一个实例存在,这时候就要用到单例模式。 保证一个类仅有一个实例,并提供一个访问它的全...

3464
来自专栏佳爷的后花媛

h文件和c文件的区别include本身只是一个简单的文件包含预处理命令,即为把include的后面文件放到这条命令这里,除此之外,没有其它的用处(至少我也样认为).

其实在H文件里写函数也无所谓,只是不符合习惯而已。只要按照以上的格式写,一个H文件添加多少次都无所谓,

2392

扫码关注云+社区

领取腾讯云代金券