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

相关文章

来自专栏老九学堂

这20个正则表达式,让你少写1000行代码

正则表达式——古老而又强大的文本处理工具。仅用一段简短的表达式语句,就能快速地实现一个复杂的业务逻辑。掌握正则表达式,让你的开发效率有一个质的飞跃。 正则表达式...

3539
来自专栏JackieZheng

FreeMarker模板开发指南知识点梳理

freemarker是什么? 有什么用? 怎么用? (问得好,这些都是我想知道的问题) freemarker是什么?   FreeMarker 是一款 模板引擎...

1959
来自专栏iKcamp

翻译 | 带你秒懂内存管理 - 第一部(共三部)

原文地址:A crash course in memory management 原文作者:Lin Clark 译者:黑黑 校对者:Bob 要理解为什么将 Ar...

1917
来自专栏屈定‘s Blog

设计模式--适配器模式的思考

个人认为适配器模式是一种加中间层来解决问题的思想,为的是减少开发工作量,提高代码复用率.另外在对于第三方的服务中使用适配器层则可以很好的把自己系统与第三方依赖解...

935
来自专栏Java架构

这些Spring中的设计模式,你都知道吗?

设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆。

542
来自专栏沈唁志

你知道什么是Base64吗?

2014
来自专栏xingoo, 一个梦想做发明家的程序员

Java程序员的日常 —— 工作一天的收获

看题目可能是扯皮,其实还是有很多专业知识的。从最开始没有注意到设计原则,到后面的jquery实战技巧,都是今天一天碰到的问题。 每天整理一点点,每天收获一点...

2017
来自专栏pangguoming

Python相对、绝对导入浅析

这篇文章从另外一个不同的视角来分析一下Python的import机制,主要的目的是为了搞懂import中absolute、relative import遇到的几...

3847
来自专栏宋凯伦的技术小栈

分享调用Java private方法

上周在修复bug时,发现Java类中某方法是private,且类中没有用到,第一感觉是方法多余。其实通过分析,发现原来Native Code会通过JNI调到此方...

1715
来自专栏欧阳大哥的轮子

手把手教你查看和分析iOS的crash崩溃异常

一个应用程序并不总会一直运行的很好,它总会有出现crash崩溃的情况。如果在应用程序中接入了一些第三方的crash收集工具或者自建crash收集报告平台的话将会...

1262

扫码关注云+社区