数据校验是在项目开发中不可缺少的一部分,用户登录时、密码验证时都需要,当然要做的首先是获得用户输入的内容,然后对内容进行验证,一般都是从数据库中读出然后校验,如果错误则显示提示信息,正确则进入用户主界面。
下面用一个简单小例子来说明下步骤:
1、index的表单
复制代码 代码如下:<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
演示
提交时会有两个变量--user.name 和user.age传到server,然后调用struts.xml文件配置中的对应Action
2、struts.xml配置
复制代码 代码如下:
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
很明显-当返回success时调用success.jsp,error则调用error.jsp
3、Action中的check方法内容
复制代码 代码如下:public String check(){
System.out.println("name="+user.getName());
System.out.println("age="+user.getAge());
if(user.getName().equals("admin")&&user.getAge()==20){
return SUCCESS;
}else{
this.addFieldError("name", "name is error");
this.addFieldError("name", "name is too long");
return ERROR;
}
}
在这里我们调用了addFieldError方法
4、error.jsp页面
复制代码 代码如下:<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %>
验证失败
里面第三行是说明的添加了struts2的标签库,并且以s开头。
而倒数第四行和第六行是重点,errors.name[0]对应的就是我们在3中通过addFieldError方法,放入到name属性中的name is error,errors.name[1]则很明显是name is too long。倒数第三行是调试信息。
整个效果最后显示为:
以上就是Struts2中简单的数据校验的全部内容,希望能给大家一个参考,也希望大家多多支持考高分网。



