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>
如果觉得有用,想赞助一下请移步赞助页面:赞助一下
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2016-04-13 图像的线性空间滤波matlab实现
2016-04-13 matlab直方图均衡