(Struts2学习篇) Struts2数据校验之一分析

符号 阅读:168 2021-03-31 23:05:18 评论:0


数据校验的意义

WEB数据收集的复杂性
客户数据输入的误操作
其他恶意攻击

struts2数据校验的方法

客户端校验和服务端校验。

    客户端校验是指,在HTML画面上自动生成JavaScript校验代码,在用户提交到服务器之前在客户端浏览器中进行校验。默认位客户端校验。

    服务端校验是指,在数据提交到服务器上之后,在Action处理之前,对客户但提交的数据进行校验。(ActionSupport实现了Validatable接口,这个接口中定义了一个validate方法,通过重写validate方法可以完成更详细的校验

1、validate方法验证:

<span style="font-size:12px;">package org.senssic.action; 
import com.opensymphony.xwork2.ActionSupport; 
public class ValidationC extends ActionSupport { 
private static final long serialVersionUID = 1L; 
private String name; 
private int age; 
public String getName() { 
return name; 
} 
public void setName(String name) { 
this.name = name; 
} 
public int getAge() { 
return age; 
} 
public void setAge(int age) { 
this.age = age; 
} 
@Override 
public String execute() { 
return SUCCESS; 
} 
@Override 
public void validate() { 
if ("".equals(name.trim()) || name == null) { 
addFieldError("name", "姓名输入错误!"); 
} 
if (age <= 0 || age > 100) { 
addFieldError("age", "年龄输入错误!"); 
} 
} 
}</span>
jsp如果要显示错误信息需要添加struts的标签<filederror/>:

<span style="font-size:12px;"><%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 
    <[email protected] prefix="s" uri="/struts-tags" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Insert title here</title> 
</head> 
<body> 
  <s:fielderror></s:fielderror> 
   <s:form action="ValidationC" > 
      姓名:<s:textfield name="name"></s:textfield> 
      年龄:<s:textfield name="age"></s:textfield> 
     <s:submit>提交</s:submit> 
   </s:form> 
</body> 
</html></span>



声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
排行榜
关注我们

一个IT知识分享的公众号