Struts2输入校验(一) validate方法-validateXxx方法

这是一种编码校验的方法, 我重写ActionSupport父类的validate方法来实现 .

Action执行时一定会执行validate方法, 若有不合格的输入 就调用addFieldError ("age", "年领应在0-200之间");方法.

1 login.jsp

HTML标签:

Html代码

错误信息 :<s:fielderror ></s:fielderror>

<form action="login.action" method="post">

用户名:<input type="text" name="username" value="${username}"/><br>

年 龄:<input type="text" name="age" value="${age} "/><br>

生 日:<input type="text" name="birthday" value="${birthday}"/><br>

点对象:<input type="text" name="point" value="${point} "/><br>

<input type="submit" value="提交"/>

</form>
struts2标签

Html代码

<s:form action="login">

<s:textfield name="username" label="用户名 "></s:textfield>

<s:textfield name="age" label="年 龄 "></s:textfield>

<s:textfield name="birthday" label="生 日 "></s:textfield>

<s:textfield name="point" label="点对象 "></s:textfield>

<s:submit></s:submit>

</s:form>

2 LoginAction.java

Java代码

package ssh.org.web;

import java.util.Date;

import java.util.List;

import ssh.org.util.Point;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport

{

/**

*

*/

private static final long serialVersionUID = 1L;

private String username;

private int age;

private Date birthday;

private List<String> aihao;

@Override

public String execute() throws Exception

{

return "success";

}

@Override

public void validate()

{

if (age < 0 || 200 < age)

{

addFieldError("age", "年领应在0-200之间");

}

}

}

 

看上面的validate()方法,很简洁,因为少了类型转换,这个工作由Struts2内建的类型转换器把请 求参数转换为所须要的类型.

时间: 2024-11-03 11:19:00

Struts2输入校验(一) validate方法-validateXxx方法的相关文章

Struts2输入校验(二) 验证框架

一 文件名约定: 1) 验证XML的文件名: Action类名-validation.xml ,并与相关的Action类 放在一起. 2) 当一个Action中有多个业务方法时 : Action 类 名-映射名- validation.xml 什么是映射名:<action name="login".../> ,name属性的 值:login就是映射名,千万注意,很多人写错 例子: URL 是:http://localhost/struts/user_addUser. act

Struts2输入校验流程

1.类型转换器负责请求参数的类型转换,并将这些值设置成Action的属性值. 2.在类型转换中如果出现异常,将异常保存到ActionContext中,conversionError拦截器负责将其 封装到fieldError中,然后执行3,如无异常,直接进入3. 3.通过反射调用validatorXxx方法,Xxx代表处理用户请求的业务逻辑的方法名. 4.调用Action类的validator方法. 5.如果以上没有出现fieldError,则调用Action的业务处理方法,如有fieldErro

struts2 输入校验如果是对象?应该怎么处理

问题描述 LoginActionpublic class LoginAction extends ActionSupport {private UserService userService;private User user;public User getUser() {return user;}public void setUser(User user) {this.user = user;}...login.jsp<body style="text-align: center;&qu

Struts中使用validate()输入校验方法详解_java

1.在ActionSupport中有一个validate()方法,这个方法是验证方法,它会在execute()方法执行之前执行,所以能够起到很好的验证的作用. @Override //重写Action中的validate()方法 public void validate() { if(null==this.username||this.username.length()<4||this.username.length()>6){ this.addActionError("userna

Struts2数据输入校验(1) —— 函数验证

用struts2标签库来实现上述目的的基本原理: 错误消息分为field级和action级,都在ActionSupport类中预定义了,不同的是, fieldError是通过一个Map来实现,事实上记录了field的名字和错误信息,因此能在页面上对应的 field中显示: 而actionError是通过一个Collection实现,没有记录报错的来源,只记录了错误信息. 注意,下面是简要流程: (1)页面提交到action之后,首先struts会尝试对输入的字符串信息根据Action中定义的属性

struts2中输入校验错误提示显示不出来

问题描述 我在struts2输入校验中.错误提示为什么老是显示不出来呢.就是配置文件中的<message>错误提示</message>这个标签中间的文字为什么没有像书上预期的显示出来呢 解决方案 解决方案二:http://blog.csdn.net/cnidb/archive/2009/04/04/4047886.aspx解决方案三:看看你的错误信息级别:分fielderror和actionerror两个级别,画面使用对应标签即可.validate()方法和框架验证都是存放在fie

Struts2中validate数据校验的两种方法详解附Struts2常用校验器_java

 1.Action中的validate()方法 Struts2提供了一个Validateable接口,这个接口中只存在validate()方法,实现这个接口的类可直接被Struts2调用,ActionSupport类就实现了Vadidateable接口,但他的validate()方法是一个空方法,需要我们来重写. validate()方法会在execute()方法执行前执行,仅当数据校验正确,才执行execute()方法, 如错误则将错误添加到fieldErrors域中,如果定义的Action中

判断用户输入的银行卡号是否正确的方法(基于Luhn算法的格式校验)

开发中,有时候,为了打造更好的用户体验,同时减轻服务器端的压力,需要对于一些如,手机号码,银行卡号,身份证号码进行格式校验 下面是判断银行卡号输入是否正确的代码(基于Luhn算法的格式校验): iOS代码: /** * 银行卡格式校验 * * @param cardNo 银行卡号 * * @return */ + (BOOL) checkCardNo:(NSString*) cardNo{ int oddsum = 0; //奇数求和 int evensum = 0; //偶数求和 int al

jquery.validate 自定义验证方法及validate相关参数_jquery

Jquery Validate 相关参数 //定义中文消息 var cnmsg = { required: "必选字段", remote: "请修正该字段", email: "请输入正确格式的电子邮件", url: "请输入合法的网址", date: "请输入合法的日期", dateISO: "请输入合法的日期 (ISO).", number: "请输入合法的数字",