struts2 表单验证
表单验证有两种方式,代码验证和xml配置验证器验证。每种方法都可以设置全局验证和单个方法验证。感觉单个方法用的多一点。
例子:用户注册,进行验证。表单如下
<!--设置错误显示格式-->
<style type="text/css">
ul {
display: inline-block;
}
ul li{
display: inlin;
color: red;
}
</style>
。。。。。。
<form action="${pageContext.servletContext.contextPath }/User_register.do" method="post"><table align="center" border="1" cellpadding="5" cellspacing="0"><tr><th>用户名:</th><td><input type="text" name="user.uname"><s:fielderror fieldName="user.uname"></s:fielderror></td></tr><tr><th>年龄:</th><td><input type="text" name="user.uage"></td></tr><tr><th>性别:</th><td><input type="text" name="user.ugender"></td></tr><tr><th>生日:</th><td><input type="text" name="user.ubirthday"></td></tr><tr><td colspan="2" align="center"><input type="submit" value="提交" /> </td></tr></table></form>
struts.xml配置信息
<package name="Userpkg" extends="struts-default"><action name="User_*" class="com.huitong.action.UserAction" method="{1}"><result name="success">/index.jsp</result><result name="input">/register.jsp</result> //如果验证有错误,会返回input,此处是让其跳转到注册页面</action></package>
方式一、代码验证,主要方法是:ActionSupport.validate,该方法是对全局进行验证。
如果想要对某一方法进行验证,方法名命名规则:validate+方法名,方法名首字母大写。
例如:我写的方法是
public String register(){System.out.println(user);return SUCCESS;}
那么要验证方法名是:validateRegister,简单实现如下
public void validateRegister() {if(user.getUname() == null || "".equals(user.getUname().trim())){super.addFieldError("username", "用户名不能为空!");return;}if(user.getUgender()==null || "".equals(user.getUgender().trim())){super.addFieldError("genderempty", "性别不能为空!");return;} }
方式二:xml验证,struts2提供的验证器可以在xwork2/validator/validators/default.xml文件中查找。配置文件的书写格式查看/xwork-validator-1.0.3.dtd
配置文件名书写规则:ActionClassName-action name-validation.xml,如果是全局的验证就是ActionClassName-validation.xml。
简单例子如下:文件名是:/webappstruts3/src/com/huitong/action/UserAction-User_register-validation.xml
注意:该配置文件是和相应的action文件在同一个目录中。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC"-//Apache Struts//XWork Validator 1.0.3//EN""http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> <validators><field name="user.uname"><field-validator type="requiredstring" ><message>用户名不能为空</message></field-validator></field></validators>
struts2 表单验证相关推荐
- [JavaWeb基础] 015.Struts2 表单验证框架
在web开发的过程中,我们经常要用到一些填写表单的操作,我们一般都要在提交表单信息的时候对表单的内容进行验证,struts2给我们提供了简单的实现接口,让我们可以很容易的对表单进行验证.下面讲解下最传 ...
- Struts2表单验证、模型驱动、防重复提交、数据回显
1)表单验证 strus的表单验证通过使用struts内置的vlidation拦截器来完成.使用相对比较简单,有以下步骤需要完成. a,写一个xml配置文件(和需要验证的action必须同包),文件名 ...
- Struts2表单验证
一.struts2.0的输入验证: A.手动验证: 1)重写validate() 2)重写validateXxx() B.使用验证框架 Action类都要继承ActionSupport类 二.为一个A ...
- struts2表单验证里validato 的type值及其含义
int 整数: double 实数: date 日期: expression 两数的关系比较: email Email地址: url web地址 visitor 访问 conversion ...
- struts2表单验证里field-validator type值一共可以取哪些?都什么含义?
int 整数: double 实数: date 日期: expression 两数的关系比较: email Email地址: url visitor conversion regex 正则表达式验证: ...
- 如何自定义Struts2表单验证后的错误信息显示格式
http://www.blogjava.net/lishunli/archive/2010/10/17/335384.html http://www.blogjava.net/lishunli/arc ...
- struts2官方 中文教程 系列六:表单验证
先贴个本帖的地址,以免被爬:struts2教程 官方系列六:表单验证 即 http://www.cnblogs.com/linghaoxinpian/p/6906720.html 下载本章节代码 介 ...
- struts2的表单验证validation.xml
转载自:http://blog.csdn.net/vipmao/article/details/51199388 struts2中提供自带的表单验证方式.验证方式大致有一下几种. required:必 ...
- struts2标签和表单验证
感谢博主 谢谢 再次感谢 <s:textfield name="user.username" label="用户名"/> 这个name与你act ...
最新文章
- Swift - AppDelegate.swift类中默认方法的介绍
- parseInt(08)或parseInt(09)转换返回0的解决办法
- 数据预处理(part3)--缺失值处理和区间化
- oracle rac em cluster name,ORACLE 11G RAC重建EM问题
- 【学习笔记】同余最短路
- Redis未授权访问漏洞记录(端口:6379)
- Magento教程 19:客户评论的审核与发布! (Pending Reviews)
- 计算机科学学院参加些什么比赛,【安全月进行时】计算机科学学院成功举办2019年实验室安全知识竞赛活动...
- redhad安装git
- [EMNLP18]针对自顶向下和中序移进归约成分句法分析的Dynamic Oracles
- t999主页劫持/篡改木马
- 洛谷P3366【模板】最小生成树-克鲁斯卡尔Kruskal算法详解附赠习题
- 【Web】lighttpd基础
- java获得文件的md5码_java获取文件md5码
- curiosity_mars_rover调试
- 基于51单片机的红外报警实验
- 审计系统---堡垒机项目之表结构设计
- 快来抄吧:Project Plan Template 项目计划模板
- 【 爬虫解决了什么问题】
- 全志A20 android4.4双屏异显 双屏同显终于可以了
热门文章
- python网页运行环境_Python小牛叔Web开发1:安装Visual Studio Code配置Python运行环境...
- 树莓派python教程_两个简易的树莓派初学者Python程序
- str.endswith可以传入集合数据类型,而不仅仅是字符串
- linux误修改文件名恢复,如何在 Linux 中找出最近或今天被修改的文件-linux修改文件名...
- 退出命令_Vim命令报错问题:无法用:wq命令保存并退出只读文件
- 买游戏来运营_「笔吧评测室」双十一快来了,买游戏本要做好心理准备
- 框架生成的HTML修改,Django框架form表单验证 修改html标签的样式
- 【企业管理】2019年11 月 每日花语
- org.dom4j.DocumentException: 20 Nested exception: 20
- 《系统集成项目管理工程师》必背100个知识点-34项目范围基准