[JavaWeb基础] 015.Struts2 表单验证框架
在web开发的过程中,我们经常要用到一些填写表单的操作,我们一般都要在提交表单信息的时候对表单的内容进行验证,struts2给我们提供了简单的实现接口,让我们可以很容易的对表单进行验证。下面讲解下最传统的方法配置表单验证框架,还有更简单明了的就是利用注解,这里就不解释了。
1.首先我们要在要进行配置的Action的同级目录下,新建一个.xml文件,命名格式为:ActionClassName-validation.xml。
例如我的Action类名为:RegisterAction 那么xml名称为:RegisterAction-validation.xml
要特别注意:
1)Action要继承ActionSupport
2)XML的头:<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <? xml version="1.0" encoding="UTF-8"?> <! DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd"> < validators > < field name="userName"> < field-validator type="requiredstring"> < message >必须输入用户名</ message > </ field-validator > </ field > < field name="password"> < field-validator type="stringlength"> < param name="minLength">6</ param > < param name="maxLength">10</ param > < message >密码长度6-10</ message > </ field-validator > </ field > < field name="validCode"> < field-validator type="requiredstring"> < message >必须输入验证码</ message > </ field-validator > </ field > </ validators > |
2.配置struts.xml
配置success是成功后跳转
配置input是验证失败后跳转
1 2 3 4 | < action name="register" class="com.babybus.sdteam.action.RegisterAction"> < result name="success">/Success.jsp</ result > < result name="input">/Register.jsp</ result > </ action > |
3.接下来就是jsp文件
1 2 3 4 5 6 | < s:form action="register" method="post"> < s:textfield name="userName" label="用户名" /> < s:textfield name="password" label="密码" /> < s:textfield name="validCode" label="验证码" /> < s:submit value="注册" /> </ s:form > |
4.页面结果
结语
- 受益,熟悉Struts2 验证框架
本站文章为 宝宝巴士 SD.Team 原创,转载务必在明显处注明:(作者官方网站: 宝宝巴士 )
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4774011.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术