- 浏览: 94670 次
- 性别:
- 来自: 北京
最新评论
-
zhaolianyang:
<div class="quote_title ...
JAVA 面试32问 -
zhaolianyang:
<div class="quote_title ...
JAVA 面试32问 -
leftcopychenhx:
&是在什么情况作为逻辑运算符呢
JAVA 面试32问 -
Mybeautiful:
第二十六,当一个线程进入一个对象的一个synchronized ...
JAVA 面试32问 -
zhaolianyang:
dayaolili 写道 那就换个有激情有动力的工作吧!换个适 ...
如何在工作中保持旺盛的状态???
Struts2的输入校验
数据校验是建立在类型转换的基础之上的。
一、在WebRoot根目录下创建一个类似于注册的未使用struts2的页面register.jsp(是用html表单的形式写的):
二、在包com.test.action中创建一个处理register表单的Action类RegisterAction.java继承ActionSupport类:
三、创建一个输出的success.jsp页面:
四、在struts.xml中创建并配置Action的属性:
五、继续修改RegisterAction.java类,添加验证的信息:
演示效果:
未输入时的初页面:
输入全部正确是的页面:
输入全部不正确时的页面:
最终的项目文件:(注意:未完,待续)
数据校验是建立在类型转换的基础之上的。
一、在WebRoot根目录下创建一个类似于注册的未使用struts2的页面register.jsp(是用html表单的形式写的):
<body> <form action="register" method="post"> <table align="center" width="40%" border="1"> <tr> <td>username:</td> <td><input type="text" name="username"></td> </tr> <tr> <td>password:</td> <td><input type="password" name="password"></td> </tr> <tr> <td>repassword:</td> <td><input type="password" name="repassword"></td> </tr> <tr> <td>age:</td> <td><input type="text" name="age"></td> </tr> <tr> <td>birthday:</td> <td><input type="text" name="birthday"></td> </tr> <tr> <td>graduation:</td> <td><input type="text" name="graduation"></td> </tr> <tr> <td><input type="submit" value=" submit "></td> <td><input type="reset" value=" reset "></td> </tr> </table> </form> </body>
二、在包com.test.action中创建一个处理register表单的Action类RegisterAction.java继承ActionSupport类:
package com.test.action; import java.util.Date; import com.opensymphony.xwork2.ActionSupport; public class RegisterAction extends ActionSupport { private String usernme; private String password; private String repassword; private int age; private Date birthday; private Date graduation; public String getUsernme() { return usernme; } public void setUsernme(String usernme) { this.usernme = usernme; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getRepassword() { return repassword; } public void setRepassword(String repassword) { this.repassword = repassword; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public Date getGraduation() { return graduation; } public void setGraduation(Date graduation) { this.graduation = graduation; } @Override public String execute() throws Exception { return SUCCESS; } }
三、创建一个输出的success.jsp页面:
<body> <form action="register.action" method="post"> <table align="center" width="40%" border="1"> <tr> <td>username:</td> <td>${requestScope.username}</td> </tr> <tr> <td>password:</td> <td>${requestScope.password }</td> </tr> <tr> <td>age:</td> <td>${requestScope.age }</td> </tr> <tr> <td>birthday:</td> <td>${requestScope.birthday }</td> </tr> <tr> <td>graduation:</td> <td>${requestScope.graduation }</td> </tr> </table> </form> </body>
四、在struts.xml中创建并配置Action的属性:
<action name="register" class="com.test.action.RegisterAction"> <result name="success">/success.jsp</result> <result name="input">/register.jsp</result> </action>
五、继续修改RegisterAction.java类,添加验证的信息:
package com.test.action; import java.util.Calendar; import java.util.Date; import com.opensymphony.xwork2.ActionSupport; public class RegisterAction extends ActionSupport { private String username; private String password; private String repassword; private int age; private Date birthday; private Date graduation; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getRepassword() { return repassword; } public void setRepassword(String repassword) { this.repassword = repassword; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public Date getGraduation() { return graduation; } public void setGraduation(Date graduation) { this.graduation = graduation; } @Override public String execute() throws Exception { return SUCCESS; } @Override public void validate() { if(null == username || username.length() < 6 || username.length() > 10){ this.addFieldError("username", "username invalid"); } if(null == password || password.length() <6 || password.length() > 10){ this.addFieldError("password", "password invalid"); } else if(null == repassword || repassword.length() < 6 || repassword.length() > 10){ this.addFieldError("repassword", "repassword invalid"); } else if(!password.equals(repassword)){ this.addFieldError("password", "two passwords not the same"); } if(age < 1 || age > 150){ this.addFieldError("age", "age invalid"); } if(null == birthday){ this.addFieldError("birthday", "birthday invalid"); } if(null == graduation){ this.addFieldError("graduation", "graduation invalid"); } if(null != birthday && null != graduation){ Calendar c1 = Calendar.getInstance(); c1.setTime(birthday); Calendar c2 = Calendar.getInstance(); c2.setTime(graduation); if(!c1.before(c2)){ this.addFieldError("birthday", "birthday should be before graduation"); } } } }
演示效果:
未输入时的初页面:
输入全部正确是的页面:
输入全部不正确时的页面:
最终的项目文件:(注意:未完,待续)
发表评论
-
struts2学习笔记十九(第19讲.Struts2深入探索 续)
2013-01-31 01:26 782Struts2应用开发详解 第十九讲 Struts2 深入 ... -
struts2学习笔记十八(第18讲.Struts2深入探索)
2013-01-26 00:23 7851、在src目录下创建属性文件名struts.propert ... -
struts2学习笔记十七(第17讲.Struts2的国际化续)
2012-06-01 00:46 1233struts2的国际化: 1.页面的国际化,也就是jsp的国际 ... -
struts2学习笔记十六(第16讲.Struts2的国际化)
2012-05-24 23:35 810struts2学习笔记十六(第16讲.Struts2的国际化) ... -
struts2学习笔记十五(第15讲.Struts2的文件上传和下载续三)
2011-02-11 16:56 917Struts2的文件上传和下载续三 功能:用户可以自定义上传文 ... -
struts2学习笔记十四(第14讲.Struts2的文件上传和下载续二)
2011-01-21 16:00 1313Struts2的文件上传和下载续二 说明:使用struts2的 ... -
struts2学习笔记十三(第13讲.Struts2的文件上传和下载续)
2011-01-19 18:04 941Struts2的文件上传和下载续 接上面未完成的功能。 一、首 ... -
struts2学习笔记十二(第12讲.Struts2的文件上传和下载)
2011-01-18 14:57 1268Struts2的文件上传和下载 ... -
struts2学习笔记十一(第11讲.Struts2的核心 拦截器续)
2011-01-14 16:33 1024Struts2的核心 拦截器续 说明:拦截器的主要作用就是拦截 ... -
struts2学习笔记十(第10讲.Struts2的核心 拦截器)
2011-01-13 17:47 922Struts2的核心 拦截器 一、修改RegisterAct ... -
struts2学习笔记九(第9讲.Struts2的校验框架 续)
2011-01-12 18:11 1077Struts2的校验框架 续 struts2同样支持客户端的 ... -
struts2学习笔记八(第8讲.Struts2的校验框架)
2011-01-12 15:44 921第8讲.Struts2的校验框架 之前的验证方式是stru ... -
struts2学习笔记七(第7讲.Struts2的输入校验续二)
2011-01-11 18:07 1037Struts2的输入校验续二 主要介绍addActionErr ... -
struts2学习笔记六(第6讲.Struts2的输入校验续一)
2011-01-10 14:32 1226Struts2的输入校验续一 说明: 遇到类型转换错误的时候 ... -
struts2学习笔记四(第4讲.Struts2的类型转换续)
2011-01-06 23:25 975struts2中的局部类型转换 新的需求:用户需要同时增加三 ... -
struts2学习笔记三(第3讲.Struts2的类型转换)
2011-01-05 17:31 1059struts2中的局部类型转换 其中一个主要的就是使用逗号将 ... -
struts2学习笔记二(第2讲.Struts2入门与配置续)
2011-01-05 16:36 935接上面未完成的功能:判断输入的用户名和密码是否正确。 一、创建 ... -
struts2学习笔记一(第1讲.Struts2入门与配置)
2011-01-05 00:12 1359struts2学习笔记一(第1讲.Struts2入门与配置) ...
相关推荐
Struts2 和Struts1同样也提供了校验框架,但在Struts2 已经不再把校验框架做为一个插件,而是已经内置到了Struts2中,而且配置起来更为简单方便,功能也更强大。
NULL 博文链接:https://zhaolianyang.iteye.com/blog/867028
NULL 博文链接:https://zhaolianyang.iteye.com/blog/859890
NULL 博文链接:https://zhaolianyang.iteye.com/blog/869320
NULL 博文链接:https://zhaolianyang.iteye.com/blog/869617
struts2学习笔记!因为还没有全部学完,所以分部分分享!主要内容:struts.xml配置,web.xml配置 Action要点!全局类型转换,部分类型转换,类型转换文件 类型装换错误的处理问题局部使用,把中文汉字转换为编码 struts2对...
Struts2环境搭建 Struts2类型转换 Struts2输入校验 拦截器 文件的上传与下载 Struts2的国际化 深入探析 struts2与servlet API耦合方法
struts2学习笔记,详细说明了struts2框架的执行流程,类型转换,输入校验和国际化等等
Struts2 是一个非常优秀的MVC框架,基于Model2 设计模型 由传统Struts1和WebWork两个经典框架发展而来 Struts2框架=Struts2+XWork Strust2 核心功能 允许POJO(Plain Old Java Objects,简单javabean对象,没有继承,...
基于 Struts2.1.8 包括Struts2的基本应用、文件上传、拦截器、输入校验、国际化、OGNL表达式、Struts2标签等内容。
自己写的学习笔记, 绝对真实可靠,内容很充实,而且突出重点,
手工编写代码实现对action中所有方法输入校验 博文链接:https://wuzhaohuixy-qq-com.iteye.com/blog/710102
struts2框架的输入校验与校验框架,这都是上课的总结笔记
主要介绍Struts2中的数据校验,通过一个简单的例子来说明,希望能给大家做一个参考。
《跟我学Java Web》内容包括搭建Web开发环境、HTML相关技术基础知识、...输入校验、国际化、Struts2的各种标签、对Ajax的支持等)、Spring2.5(容器、装配Java Bean、JDBC和Hibernate模板等)以及Hibernate3技术详解...