Struts2 校验数据问题
我们会经常遇到一下问题,例如我在前端输入数据,把数据发送到和后台,我首先要校验这个数据,
比如说:前端必须输入一个日期类型的数据,后端才能正确接收,要是输入一个不是日期型的数据,
那么后端就要把数据打回去,并且提示或者跳转到错误页面。那么怎么去校验呢?
f废话不多说,直接添代码,最直观的方法。
前端代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
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>首页</title> </head>
<body>
<form action="actions/user" method="post">
姓名:<input type="text" name="name"><input type="submit"value="提交">
</form>
</body>
</html>
我这里要向后台发送的是一个姓名的数据,姓名必须不能是空,必须是admin否则会跳到错误页面。
Java代码:
public class One_action extends ActionSupport {
private String name;//姓名
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String add() {
if(name==null|| !name.equals("admin")){
this.addFieldError("name", "name is Error");
return "error";
}
return SUCCESS;
}
}
add方法就是校验数据的方法。add方法调用的addFiledError方法
struts.xml的配置中文件代码:
<package name="student" extends="struts-default" namespace="/actions">
<action name="user" class="DataValidation.One_action" method="add">
<result name="error"> /user_add_error.jsp </result>
</action>
</package>
在Java中return “error” 的error一定和struts.xml中的result 中的name属性相对应。
当输出不正确的值是,就可以调到错误页面啦。
错误页面jsp代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %><%--自定义标签 --%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head> <title>'user.jsp'</title> </head> <body>
User add error;
<s:fielderror fieldName="name" theme="simple"></s:fielderror>
<br>
<s:property value="errors.name[0]"/>
<s:debug></s:debug>
</body>
</html>
这里用了自定义标签。
错误页面显示:
User add error;
- name is Error
name is Error
Struts2 校验数据问题的更多相关文章
- struts2 校验数据的有效性 2种方式
Struts2的数据校验: 数据的校验分为客户端校验和服务器端两种: 客户端校验:JS完成的校验.(为了提升用户体验.减少用户的输入错误) 服务器端校验:在后台的校验.(必须的.) 手动编码进行校验: ...
- 使用Struts2实现数据校验
使用Struts2实现数据校验 为什么需要数据校验呢?答案很简单,假如当你登录想要京东,这时就需要数据校验了如果不输入用户名的话,那么就不会登陆成功,并且会提示出"请输入用户名"的 ...
- (转)struts2:数据校验,通过XWork校验框架实现(validation.xml)
转载自:http://www.cnblogs.com/nayitian/p/3475661.html struts2:数据校验,通过XWork校验框架实现(validation.xml) 根据输入 ...
- struts2:数据校验,通过XWork校验框架实现(validation.xml)
根据输入校验的处理场所的不同,可以将输入校验分为客户端校验和服务器端校验两种.服务器端验证目前有两种方式: 第一种: 参考:struts2:数据校验,通过Action中的validate()方法实现校 ...
- struts2:数据校验,通过Action中的validate()方法实现校验,图解
根据输入校验的处理场所的不同,可以将输入校验分为客户端校验和服务器端校验两种.服务器端验证目前有两种方式: 第一种 Struts2中提供了一个com.opensymphony.xwork2.Valid ...
- struts2:数据校验,通过Action中的validate()方法实现校验(续:多业务方法时的不同验证处理)
前文:struts2:数据校验,通过Action中的validate()方法实现校验,图解 如果定义的Action中存在多个逻辑处理方法,且不同的处理逻辑可能需要不同的校验规则,在这种情况下,就需要通 ...
- Struts2 校验框架学习笔记
Struts2 校验框架 Struts2 和Struts1同样也提供了校验框架,但在Struts2 已经不再把校验框架做为一个插件,而是已经内置到了Struts2中,而且配置起来更为简单方便,功能也更 ...
- java之struts2之数据检验
1.使用struts2时,有时候需要对数据进行相关的验证.如果对数据的要求比较严格,或对安全性要求比较高时,前端 js 验证还不够, 需要在后端再进行一次验证,保证数据的安全性. 2.struts2提 ...
- Struts2 校验
Struts2校验格式: actionName-methodName-invalidation.xml 该配置文件必须和action类在同一个包下. <?xml version="1 ...
随机推荐
- mysql时间运算
DELETE FROM zhongqiu WHERE caretatime<=ADDDATE(NOW(),-14) caretatime` timestamp NOT NULL DEFAULT ...
- Android中的基类—抽取出来公共的方法
在Android中,一般来说一个应用会存在几十个页面,并且一个应用一般也会使用一个特定的主题,其中的页面的风格也是一致的,并且页面中的动画效果.页面的切换效果等也应该保持同样的风格,那么就需要一个基类 ...
- 发现一个github的奇葩设定
commit时留下的邮箱,会显示在github的提交记录里,然后居然自动找服务器上的这个邮箱注册的人,显示这个用户名.
- $GLOBALS超级全局变量(PHP学习)
1.$GLOBALS是一个数组,里面有所有的全局变量 2.$GLOBALS是超级全局变量,函数内部可以通过它直接操作全局变量.(严重不推荐,因为违反了封装原则) 3.通过$GLOBALS操作全局变量, ...
- FPGA层次结构和复位策略
FPGA设计中,层次结构设计和复位策略影响着FPGA的时序.在高速设计时,合理的层次结构设计与正确的复位策略可以优化时序,提高运行频率. 设计中,合理的层次结构是我们所追求的. 划分时,按照逻辑分区将 ...
- Oracle实例 startup 报错:LRM-00109: could not open parameter file
SQL> startup ORA-01078: failure in processing system parameters LRM-00109: could not open paramet ...
- 我的HibernateSearch笔记
话不多说,直接上代码: 实体类: package com.smt.pojo; import java.io.Serializable; import javax.persistence.Column; ...
- 杂项-公司:Netflix百科-un
ylbtech-杂项-公司:Netflix百科-un Netflix(Nasdaq NFLX) 成立于1997年,是一家在线影片租赁提供商,主要提供Netflix超大数量的DVD并免费递送,总部位于美 ...
- oracle11.2 安装
win10安装oracle 11g 时出现INS-13001环境不满足最低要求 oracle在win10上安装教程
- Dynamics CRM 2011 FetchXml QueryExpression LINQ
Dynamics CRM 2011支持三种查询语句 FetchXml QueryExpression LINQ 查询 功能 保存 FetchXml 支持QueryExpression的所有功能,额外支 ...