校验分为前台输入校验和后台服务器端校验,所以后台校验是最后一道屏障也是极其重要的!
- 流程如下:
先一个简单的jsp页面 ,然后直接提交给后台程序处理 ,最后返回到结果页面
步骤一:配置struts2框架(参照struts之一)
步骤二:配置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>
<package name="struts" extends="struts-default">
<action name="register" class="com.action.RegisterAction">
<result name="success">/success.jsp</result>
<result name="input">/fail.jsp</result>
</action>
</package>
</struts>
上面的:
<result name="success">/success.jsp</result>是action类中execute()方法返回SUCCESS时会转到success.jsp页面
<result name="input">/fail.jsp</result>是在jsp提交给某Action时,自动调用Set方法或校验时任何一个环节出错抛出异常了就会返回input,这里指定input所转向的页面为fail.jsp
步骤三:建立RegisterAction.java
package com.action;
import com.opensymphony.xwork2.ActionSupport;
public class RegisterAction extends ActionSupport {
private String username;
private String password;
public void setUsername(String username) {//jsp请求到action后自动调用该对应的Set方法赋值
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
@Override
public String execute() throws Exception {
return SUCCESS;
}
}
步骤四:校验在RegisterAction.java目录下建立一个RegisterAction—validation.xml文件,struts框架会中识别这个文件,在适当的时候调用它,其内容为:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<message>username can't be blank!</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">4</param>
<param name="maxLength">7</param>
<message>length of username should be between ${minLength} and 7</message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<message>password can't be blank!</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">4</param>
<param name="maxLength">7</param>
<message>length of password should be between ${minLength} and 7</message>
</field-validator>
</field>
</validators>
上面的意思大家应该看得懂吧,requiredstring的意思是不能为空!
步骤五:jsp页面
register.jsp
<body>
<form action="register.action">
usenrame:<input type="text" name="username"><br>
password:<input type="text" name="password"><br>
<input type="submit">
</form>
</body>
fail.jsp
<%@ taglib prefix="s" uri="/struts-tags" %><!-- 记得加上struts标签库-->
<body>
<s:fielderror cssStyle="color:blue"></s:fielderror><!-- 此处使用struts标签库返回RegisterAction—validation.xml中出现的错误-->
您的输入在后台验证时出错! <br>
</body>
success.jsp 内容为 哈哈!校验通过!!