您的位置:首页 > 编程语言 > Java开发

struts2之二(输入校验)

2012-07-07 19:17 295 查看
校验分为前台输入校验和后台服务器端校验,所以后台校验是最后一道屏障也是极其重要的!

流程如下:
先一个简单的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 内容为 哈哈!校验通过!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: