- 浏览: 286760 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
cheetah_ysc:
不错不错,我喜欢!
Java固定时间间隔执行 -
voyage_mh:
阿选百度竟然一下可以吧你百度出来
使用DWR注解Annotation
客户端jsp请求
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'regist.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<h3>请输入您的注册信息</h3>
<s:fielderror></s:fielderror>
<form action="user/regist.action" method="post">
用户名:<input type="text" name="name"><br>
密 码:<input type="password" name="pass"><br>
年 龄:<input type="text" name="age"><br>
生 日:<input type="text" name="birth"><br>
<input type="submit" value="注册">
</form>
</body>
</html>
struts.xml的配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
<package name="user" namespace="/user" extends="struts-default">
<action name="*_*" class="com.lbx.action.{1}Action" method="{2}">
<result name="success">/{1}_{2}_success.jsp</result>
<result name="error">/{1}_{2}_error.jsp</result>
<!-- {0}_success.jsp -->
</action>
<action name="regist" class="com.lbx.action.RegistAction">
<result name="input">/regist.jsp</result>
<result>/show.jsp</result>
</action>
</package>
</struts>
找到相应的Action
package com.lbx.action;
import java.util.Date;
import com.opensymphony.xwork2.ActionSupport;
public class RegistAction extends ActionSupport{
private String name;
private String pass;
private int age;
private Date birth;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Date getBirth() {
return birth;
}
public void setBirth(Date birth) {
this.birth = birth;
}
/*@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
return SUCCESS;
}*/
}
对相应的Action添加验证(Action名字-validation.xml规定的,所以RegistAction的验证文件就是RegistAction-validation.xml)通过这样的处理后就会自动进行验证
<?xml version="1.0" encoding="UTF-8"?>
<!-- 指定校验配置文件的DTD信息 -->
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.3//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
<!-- 校验文件的根元素 -->
<validators>
<!-- 校验Action的name属性 -->
<field name="name">
<!-- 指定name属性必须满足必填规则 -->
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>必须输入名字</message>
</field-validator>
<!-- 指定name属性必须匹配正则表达式 -->
<field-validator type="regex">
<param name="expression"><![CDATA[(\w{4,25})]]></param>
<message>您输入的用户名只能是字母和数字
,且长度必须在4到25之间</message>
</field-validator>
</field>
<!-- 校验Action的pass属性 -->
<field name="pass">
<!-- 指定pass属性必须满足必填规则 -->
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>必须输入密码</message>
</field-validator>
<!-- 指定pass属性必须满足匹配指定的正则表达式 -->
<field-validator type="regex">
<param name="expression"><![CDATA[(\w{4,25})]]></param>
<message>您输入的密码只能是字母和数字
,且长度必须在4到25之间</message>
</field-validator>
</field>
<!-- 指定age属性必须在指定范围内-->
<field name="age">
<field-validator type="int">
<param name="min">1</param>
<param name="max">150</param>
<message>年龄必须在1到150之间</message>
</field-validator>
</field>
<!-- 指定birth属性必须在指定范围内-->
<field name="birth">
<field-validator type="date">
<!-- 下面指定日期字符串时,必须使用本Locale的日期格式 -->
<param name="min">1900-01-01</param>
<param name="max">2050-02-21</param>
<message>生日必须在${min}到${max}之间</message>
</field-validator>
</field>
</validators>
一旦全部验证通过返回success后就到show.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'show.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<h3>校验成功</h3>
用户名:<s:property value="name"/><br />
密码:<s:property value="pass"/><br />
年龄:<s:property value="age"/><br />
生日:<s:property value="birth"/><br />
</body>
</html>
发表评论
-
Struts2类型转换
2010-12-17 14:46 13541.自定义类型转换器 第一步:编写自定义的转换器类 ... -
Struts2的基本原理
2010-12-17 14:35 1212Struts2 的基本工作流程 Struts2框架是由 ... -
Strut2使用拦截器过滤权限问题
2010-10-18 19:27 1295JSP请求(login.jsp) <%@ page ... -
Strrts2基于Annotation的输入验证
2010-10-18 17:35 1162客户端jsp请求Action代码 <%@ page ... -
Struts2异常处理
2010-10-18 12:28 1318异常映射分为两种:局部异常映射,全局异常映射。局部异常映射会 ... -
Struts2向结果传参数
2010-10-15 11:43 1907JSP请求页面(传参) &l ... -
Struts2动态指定结果
2010-10-14 22:32 1254Jsp反问页面 <%@ page language= ... -
Strut2中Action的Result类型
2010-10-14 22:16 1595type="dispatcher" 只是跳 ... -
Web中request,session,application的获取(1)
2010-10-14 17:51 1106jsp请求 <%@ page language=&q ... -
文件下载(struts2 Action)
2010-10-10 11:34 1717客户端jsp请求Actin <%@ page lan ... -
文件下载(超链接)
2010-10-10 11:09 1085文件下载有时候很简单,直接通过一个超链接就可以实现文件下载(注 ... -
Struts2多文件上传
2010-10-10 00:03 894可以是数组也可以是list和map jsp请求代码 A ... -
Struts2上传文件通过配置文件实现文件过滤
2010-10-09 18:07 3245客户端端jsp请求 <%@ page content ... -
Struts2上传文件手动实现文件过滤
2010-10-09 17:10 2890在实现了上传的功能的情况下,再加一点点代码就可以实现手动文件 ... -
Struts2上传文件(2)
2010-10-09 14:08 837html请求 Action处理(和前面那个上传基本一样 ... -
Struts2上传文件
2010-10-09 13:31 1073struts上传需要的jar包 ... -
Action基本的验证
2010-10-06 10:12 800JSP请求 <%@ page language=&qu ... -
使用action属性接收参数,中文问题
2010-10-05 16:08 1135客户端JSP请求(这里可 ... -
使用模型驱动来接收参数
2010-10-05 16:02 1753一个简单的javaBean来封装将要请求的参数可以是VO,属性 ... -
使用域模型接收参数并封装
2010-10-05 15:57 946JSP请求代码,传了参数 <%@ page langu ...
相关推荐
在这个文件中,我们将定义针对Action类中各字段的校验规则。 2. **定义验证规则**:在配置文件中,我们使用`field`元素定义每个字段的校验规则。例如,对于一个`username`字段,我们可以设置非空、长度限制等规则:...
校验规则通常定义在XML配置文件或注解中,这样可以将业务逻辑与表现层分离,提高代码可维护性。 1. XML配置文件校验: 在struts.xml或类似的配置文件中,我们可以为每个Action定义一个对应的validate()方法。这个...
3. **配置校验规则**:Struts2的校验规则可以通过XML或注解方式定义。XML方式通常在struts.xml或相应的action类配置文件中定义,而注解方式则直接在Action类的属性上标注,例如使用`@RequiredString`、`@Size`等。 ...
4. **使用第三方验证库**:如Hibernate Validator,它提供了丰富的验证注解和强大的校验规则,可以与Struts2很好地集成。 5. **编程式验证**:在每个Action类的方法内部,手动进行输入校验,虽然这种方式灵活性高,...
**一、校验规则文件** 在Action类对应的名字加上"-validation.xml"的文件中定义校验规则。XML文件头需指定DTD信息,然后在元素内定义校验规则。校验规则分为字段校验配置和非字段校验配置两种风格。字段校验配置...
在Struts2中,Action类可以通过注解或者配置文件来定义校验规则。 2. **Validator拦截器**:Struts2框架使用拦截器来执行预定义的任务,包括数据校验。当Action方法被调用前,Validator拦截器会检查Action类的属性...
在`LoginAction`类中,对username和password属性添加相应的校验规则。 ```java @FieldValidator shortMessages = "true" public class LoginAction extends ActionSupport { @NotEmpty(message = "用户名不能为空...
- **全局校验配置文件**:全局校验配置文件(如`ActionName-validation.xml`)位于Action类同级目录下,对Action类的所有方法进行校验。每个需要校验的Action类都有自己的配置文件。 - **XML配置结构**:XML配置...
综上所述,Struts2的输入校验机制不仅支持基本的手动校验,还提供了高度可配置和扩展的验证框架,使得开发者能够根据应用的具体需求,灵活地实现各种校验逻辑,从而提升应用程序的质量和用户体验。
在这个文件中,我们可以定义一系列验证规则,对每个字段进行详细的校验。 在`UserAction-validation.xml`中,我们将定义如下的结构: ```xml 用户名不能为空 <param name="min">6 <param name="max">...
校验规则通常包含在Action类的属性上,通过注解或XML配置文件来指定。 **2. 校验框架的组成** - **Action类与属性**: Action类是业务逻辑的载体,其属性对应用户表单中的字段,这些属性需要进行校验。 - **校验...
当用户提交表单时,Struts2会自动调用相应的校验规则,并根据验证结果更新Action上下文,以便在后续处理中使用。 Struts2的校验框架主要包含以下几个核心组件: 1. **Validation拦截器**:这是Struts2校验框架的...
首先,Struts2的校验框架是基于Action类的,每个Action类都可以关联一个或多个校验规则文件,通常是XML格式的,定义了字段级别的验证规则。例如,对于一个注册表单,你可能需要验证用户名的长度、密码的复杂性等。在...
在struts.xml文件中配置`<validators>`元素,然后在Action类中创建一个ValidatorForm对象,将表单字段映射到该对象的属性,即可应用预定义的校验规则。 五、自定义校验器 除了使用内置的校验规则外,Struts2还支持...
在XML文件中,可以定义每个字段的校验规则,如`requiredstring`校验器用于检查字段是否为空,`regex`校验器用于验证字段是否符合特定的正则表达式。 通过这种方式,开发者可以轻松地在Struts2中实现输入校验,既...
虽然具体内容无法在这里提供,但通常这样的博客文章会解释如何在XML配置文件中定义验证规则,比如使用Spring的`<bean>`标签创建Action类实例,并使用`<property>`标签设置属性,包括校验规则。此外,它可能还会介绍...
1. **配置校验规则**:在struts.xml或相应的Action配置文件中,定义校验规则。例如,为一个字段指定required="true"表示该字段不能为空,maxLength="10"表示字段长度不能超过10个字符。 2. **生成校验对象**:当...
Struts2提供了内置的验证框架,允许开发者自定义校验规则,以满足特定业务需求。下面将详细介绍Struts2自定义校验框架的相关知识点。 1. **Struts2验证框架概述** Struts2的验证框架主要负责处理用户提交的数据,...