Struts 2 的输入校验(2)
2016-09-10 10:10
387 查看
本文内容来自《搞定J2EE 核心技术与企业应用:Ajax,JSP,Struts 2,Spring,Hibernate》【常建功 王向华 编著】,版权归期所有,仅作记录以备后查。这篇文章通过Struts 2框架的方式实现校验,本篇通过复写validate方法实现用户注册功能。
开发环境:
IntelliJ IDEA 14.1.3
java version “1.7.0_65”
Apache Tomcat 7.0
Struts 2.3
Win7 64位
效果如下:
表单未输入任何内容,点击提交:
输入不符合要求,点击提交:
两次密码输入不一致,点击提交:
输入正确,提交:
代码组织结构:
源码如下:ValidateInValidate.java
struts.xml
web.xml
welcome.jsp
index.jsp
开发环境:
IntelliJ IDEA 14.1.3
java version “1.7.0_65”
Apache Tomcat 7.0
Struts 2.3
Win7 64位
效果如下:
表单未输入任何内容,点击提交:
输入不符合要求,点击提交:
两次密码输入不一致,点击提交:
输入正确,提交:
代码组织结构:
源码如下:ValidateInValidate.java
package com.jl.action; import com.opensymphony.xwork2.ActionSupport; import java.util.regex.Pattern; /** * Created by root on 2016/9/10. */ public class ValidateInValidate extends ActionSupport{ private String username;//创建用户名属性 private String pass1;//创建密码属性 private String pass2;//创建确认密码属性 private int age;//创建年龄属性 public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPass1() { return pass1; } public void setPass1(String pass1) { this.pass1 = pass1; } public String getPass2() { return pass2; } public void setPass2(String pass2) { this.pass2 = pass2; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public void validate() { if (username.equals("")) { addFieldError("username","必输输入用户名"); }else if (!Pattern.matches("\\w{4,15}", username)) { addFieldError("username", "用户名必须是字母和数字的组合且长度在(4-15)范围内"); } if (pass1.equals("")) { addFieldError("pass1","必输输入密码"); }else if (!Pattern.matches("\\w{6,15}", pass1)) { addFieldError("pass1", "密码必须是字母和数字的组合且长度在(6-15)范围内"); } if (pass2.equals("")) { addFieldError("pass2","必输重复输入密码"); }else if (!pass2.equals(pass1)) { addFieldError("pass2", "重复输入密码必须与第一次输入密码一致"); } if (age <= 0 || age > 99) { addFieldError("age","年龄必须为整数且在(1-99)范围内"); } } }
struts.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!--<constant name="struts.enable.DynamicMethodInvocation" value="true"/> --> <!--<constant name="struts.devMode" value="true"/>--> <package name="default" extends="struts-default"> <action name="validate1" class="com.jl.action.ValidateInValidate"> <result name="input">index.jsp</result> <result>welcome.jsp</result> </action> </package> </struts>
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
welcome.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title></title> </head> <body> 欢迎!!! </body> </html>
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@taglib prefix="s" uri="/struts-tags" %> <html> <head> <title></title> </head> <body> <s:form action="validate1"> <s:textfield name="username" label="用户名" required = "true"/> <s:textfield name="pass1" label="输入密码" required = "true"/> <s:textfield name="pass2" label="重复密码" required = "true"/> <s:textfield name="age" label="年龄" required = "true"/> <s:submit value="提交"/> </s:form> </body> </html>
相关文章推荐
- Struts 学习笔记2(输入校验、国际化、异常处理)
- Struts2.1笔记(七):Struts2输入校验
- struts2之二(输入校验)
- struts入门之输入校验
- Struts 使用要点(概述,Spring与Struts的整合,输入校验与消息显示)
- Struts 2学习及问题记录(3)——类型转换及输入校验
- Struts 2 类型转换器 输入校验 拦截器
- Struts2 输入校验
- Struts输入校验之后保留原先的输入值
- struts 2的输入校验
- Struts 使用要点(概述,Spring与Struts的整合,输入校验与消息显示)
- struts中根据validation.xml配置文件进行页面输入项的校验
- struts第十天-----对action中的所有方法进行输入校验
- 3、struts Action中的方法及输入校验
- Struts2.0学习笔记 — 输入校验(Validation)
- ssh之struts学习笔记(三)输入校验
- Struts运行的基本流程及输入校验
- Struts 使用要点(概述,Spring与Struts的整合,输入校验与消息显示)
- 在Struts中对用户输入信息的校验方法对比:validate 和validator
- Struts的类型转换及输入校验(Struts2的输入校验)