《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 条评论
登录 后参与评论

相关文章

来自专栏屈定‘s Blog

设计模式--模板方法模式的思考

模板方法同样也是一种很实用的方法,目的是提高代码复用,并且统一大体的算法流程,比如一个一台电脑主机,定义好放置CPU,硬盘,内存等空位后,就形成了一个骨架,那么...

1454
来自专栏AndroidTv

分享两个提高效率的AndroidStudio小技巧

这次分享两个 Android Studio 的小技巧,能够有效提高效率和减少犯错,尤其是在团队协作开发中。

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

shell脚本 + date命令语法

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

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

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

2528
来自专栏程序人生 阅读快乐

C语言编程魔法书:基于C11标准

主要讲解C11标准的语法内容,并且从整个编译、连接到加载过程都会涉及。同时在后会分别介绍GCC编译器与Clang编译器的C语言语法扩展。通过阅读本书,读者能够完...

692
来自专栏java一日一条

Java异常有多慢?

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

652
来自专栏CDA数据分析师

不可不知的一点Python陷阱

于易于学习以及快速开发更大更复杂的应用,Python渐渐在计算环境中无处不在。尽管明显的语言清晰度和友好会麻痹软件工程师和系统管理员的警觉性 —— 诱使他们编码...

2498
来自专栏技术小黑屋

你的Java代码对JIT编译友好么?

本文为 InfoQ 中文站特供稿件,首发地址为:你的Java代码对JIT编译友好么?。如需转载,请与 InfoQ 中文站联系。

1422
来自专栏惨绿少年

Shell编程基础篇-上

1.1 前言 1.1.1 为什么学Shell Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, Linux/UNIX系统的底层...

1830
来自专栏数据和云

巧用SQL:Oracle中实现split相关方法总结

尚世波 从事数据库方面工作多年,专注于pl/sql开发、数据库设计、优化方面的研究,喜欢挑战 前文回顾:巧用SQL:oracle pl/sql split函...

3565

扫码关注云+社区