struts2+AJAX(DWR)的输入校验问题

mathematical 2011-05-04 10:29:19
当一个文本框失去焦点时,没有按照程序要求(通过struts2的Validation框架)提示相应的错误信息,而是弹出对话框“来自网页的消息 Error”(无数次),请问为何出现这种情况?如何解决?

1.页面文件:register.jsp


<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>带有AJAX校验功能的用户注册页面</title>
<style type="text/css">
input {
width: 200px
}
</style>
<s:head theme="ajax"/>
</head>
<body>
<!-- action = "register" -->
<s:form action="register" namespace="/chapter15" theme="ajax"
validate="true">
<s:textfield label="用户名" name="username" />
<s:password label="密码" name="password" />
<s:password label="重新输入密码" name="repassword" />
<s:textfield label="年龄" name="age" />
<s:textfield label="生日" name="birthday" />
<s:submit value="注册" cssStyle="width:50px" />
</s:form>
</body>
</html>


2.struts2的Action:RegisterAction.java


package chapter15.action;

import com.opensymphony.xwork2.*;
import java.util.*;

public class RegisterAction extends ActionSupport
{
private String username;
private String password;
private int age;
private Date birthday;
private String result;

// result属性的getter方法
public String getResult()
{
return result;
}

// result属性的setter方法
public void setResult(String result)
{
this.result = result;
}

// username属性的getter方法
public String getUsername()
{
return username;
}

// username属性的setter方法
public void setUsername(String username)
{
this.username = username;
}

// password属性的getter方法
public String getPassword()
{
return password;
}

// password属性的setter方法
public void setPassword(String password)
{
this.password = password;
}

// age属性的getter方法
public int getAge()
{
return age;
}

// age属性的setter方法
public void setAge(int age)
{
this.age = age;
}

// birthday属性的getter方法
public Date getBirthday()
{
return birthday;
}

// birthday属性的setter方法
public void setBirthday(Date birthday)
{
this.birthday = birthday;
}

public String execute() throws Exception
{
setResult("注册成功!");
return SUCCESS;
}
...全文
131 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
mathematical 2011-05-04
  • 打赏
  • 举报
回复
3.validation输入校验:RegisterAction-validation.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<message>用户名必须输入</message>
</field-validator>
<field-validator type="stringlength" short-circuit="true">
<param name="minLength">4</param>
<param name="maxLength">20</param>
<param name="trim">true</param>
<message>abcdefg</message>
</field-validator>
<field-validator type="regex">
<param name="expression"><![CDATA[(^\w*$)]]></param>
<param name="trim">true</param>
<message>用户名必须是字母和数字!</message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<message>密码必须输入</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">8</param>
<param name="maxLength">30</param>

<param name="trim">true</param>
<message>密码的长度必须介于8和30之间!</message>
</field-validator>
</field>
<field name="age">
<field-validator type="int">
<param name="min">1</param>
<param name="max">200</param>
<message>您必须输入一个有效的年龄!</message>
</field-validator>
</field>
<field name="birthday">
<field-validator type="requiredstring" >
<message>出生日期必须输入</message>
</field-validator>
<field-validator type="date">
<param name="min">1900-1-1</param>
<param name="max">2020-1-1</param>
<message>出生日期必须在 ${min}和${max}之间!</message>
</field-validator>
</field>

</validators>
mathematical 2011-05-04
  • 打赏
  • 举报
回复
4. struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!-- 指定Struts 2配置文件的DTD信息 -->
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="chapter15" namespace="/chapter15"
extends="json-default">
<action name="register"
class="chapter15.action.RegisterAction">
<result name="success">/chapter15/success.jsp</result>
<result name="input">/chapter15/input.jsp</result>
</action>
</package>
</struts>


求高人指点~

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧