1. 验证框架 示例

表单提交Jsp, reg.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>reg.jsp</title>
</head>
<body>
<s:actionerror/>
<!-- validate="true" 能够在客户端生成脚本校验 -->
<s:form namespace="/validate" action="ValidateAction_reg" method="post" theme="xhtml" validate="true">
<s:textfield name="name" label="UserName" />
<s:textfield name="age" label="UserAge" />
<s:textfield name="password" label="password" />
<s:textfield name="confirmPassword" label="confirmPassword" />
<s:submit />
</s:form>
</body>
</html>

处理action

public class ValidateAction extends ActionSupport {
private static final long serialVersionUID = -6933309304624396640L; private String name;
private Integer age;
private String password ;
private String confirmPassword ; public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public String getConfirmPassword() {
return confirmPassword;
} public void setConfirmPassword(String confirmPassword) {
this.confirmPassword = confirmPassword;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public Integer getAge() {
return age;
} public void setAge(Integer age) {
this.age = age;
} public String reg() {
return "success";
} @SkipValidation
public String toRegView() {
System.out.println("toRegView");
return "regView";
}
}

struts2配置文件  validate.xml, 校验表单需要加 input result,有错误回跳

<?xml version="1.0"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
<package name="ValidatePkg" namespace="/validate" extends="struts-default">
<action name="ValidateAction_*" class="cn.itcast.struts2.validate.ValidateAction" method="{1}">
<result name="success">/validate/reg.jsp</result>
<result name="regView">/validate/reg.jsp</result>
<result name="input">/validate/reg.jsp</result>
</action>
</package>
</struts>

ValidateAction-validation.xml  校验选项配置

<?xml version="1.0"?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="name">
<field-validator type="requiredstring">
<message>name is required</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">5</param>
<param name="maxLength">10</param>
<message key="error.name.length" />
</field-validator>
<field-validator type="email">
<message>name is invalid email address!</message>
</field-validator>
</field>
<field name="age">
<field-validator type="required">
<message>age is required</message>
</field-validator>
<field-validator type="int">
<param name="min">20</param>
<param name="max">100</param>
<message>age rang is wrong!</message>
</field-validator>
</field>
<validator type="expression">
<param name="expresssion">password == confirmPassword</param>
<message>password input isn't the same!</message>
</validator>
</validators>

message 国际化 文件 ValidateAction.properties

label.name=userName
error.name.length=${name} is goog name,but length must be between ${minLength} and ${maxLength}.

字段校验type list

JavaWeb -- Struts2 验证框架的更多相关文章

  1. 关于struts2 验证框架在联网的时候可以用,不联网不起作用的问题

    这是一个让我很头痛的问题,我是在一个其他的项目框架的基础上来开发新的项目. 当使用struts验证框架时,突然发现这个验证不起作用了,我就纳闷了之前用这个开发的项目好好的怎么到我这就不能用了呢? xm ...

  2. Struts2验证框架_xml验证失败

    测试Struts2验证框架-->XML验证   启动tomcat后网页登录失败 Employee-validation.xml文件头如下: <!DOCTYPE validators PUB ...

  3. (七)Struts2 验证框架

    所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:Struts2 验证简介 Struts2 基于Struts2 拦截器,为 ...

  4. Struts2验证框架实例

    今天写了个Struts验证框架的实例,总算把验证框架弄清楚了. 上一篇Struts实例的action没有继承ActionSupport类,虽然也可以实现action的功能,但是却不能应用Struts提 ...

  5. struts2学习(11)struts2验证框架1.验证简介、内置验证

    一.Struts2验证简介: 二.struts2内置验证: 下面例子,需求是:为用户注册进行验证: com.cy.model.User.java: package com.cy.model; publ ...

  6. Struts2 验证框架 validation.xml 常用的验证规则

    validation.xml 的命名规则和放置路径: 文件名:<ActionClassName>-validation.xml <ActionClassName>就是要验证的A ...

  7. struts2验证框架

    如何做一个工号 用户 密码 验证登录页面? 答:1,先画一个login.jsp ,如何画呢?先引入Struts2标签库,利用Struts2标签库画登录页面:如下: 2,先进入useractiion,在 ...

  8. struts2验证框架1

    <!--该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts 2处理.如果用户需要指定多个请求后缀,则多个后缀之间以英文逗 ...

  9. struts2学习(12)struts2验证框架2.自定义验证

    一.例子需求: 对敏感词进行验证: 将struts包中的validators.xml文件拷贝一份到src目录下,在最后面添加自己的验证器: com.cy.validators.SensitiveWor ...

随机推荐

  1. HDU 1796 How many integers can you find(容斥原理)

    How many integers can you find Time Limit: 12000/5000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  2. word2007的配置进度怎么产生的?如何解决?

    那么要怎么解决这个问题呢?既然是安装的,那么我们便道安装控制器文件夹下面去找原因.在WIN8操作系统下,文件夹位于:C:\Program Files (x86)\Common Files\Micros ...

  3. centos7 Dockerfile安装nginx

    1.写一个Dockerfile文件 FROM centos MAINTAINER apeng apeng@apenglinux-002.com RUN yum install -y pcre-deve ...

  4. 解决 apt-get the following packages has unmet dependencies 问题

    安装vpn遇到以下问题: 显示flinux print util和openconnect存在依赖库的冲突 此时尝试安装新的tk.vpnc-scripts.libopenconnect5,尝试apt-g ...

  5. 在Mac OS X使用Elasticsearch的基本流程

    这篇日志的目的非常easy,就是记录一些主要的流程.要在OS X上使用Elasticsearch,事实上非常easy,在这里:https://www.elastic.co/downloads/elas ...

  6. hibernate set的3个属性

    inverse 属性 在hibernate中通过对 inverse 属性的来决定是由双向关联的哪一方来维护表和表之间的关系. inverse = false 的为主动方.inverse = true ...

  7. android studio中取消关联git

    Android studio取消关联Git 步骤如下 settings->version control 这里是已经取消关联的 如果关联 按住减号即可

  8. 使用jqueryUI和corethink实现的类似百度的搜索提示

    代码:http://download.csdn.net/detail/u012995856/9676845 效果: 目录: 这里是以corethink模块的形式,只需要安装上访问 index.php? ...

  9. jdk1.7 ArrayList源码浅析

    参考:http://www.cnblogs.com/xrq730/p/4989451.html(借鉴的有点多,哈哈) 首先介绍ArrayList的特性: 1.允许元素为空.允许重复元素 2.有序,即插 ...

  10. matlab循环保存dat文件

    将数据保存为dat文件 这里有两种方法,第一种是: save filename dataname; 这种方法书写简单,但是功能也很简单.这里的filename就是死的filenam,即filename ...