这是我请求ACTION的页面
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ include file="/WEB-INF/pages/common/taglibs.jsp"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<s:url action="validateUserName" namespace="/reg"  includeParams="none" id="validateUserName"></s:url>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
 <base href="<%=basePath%>">
<title>Register</title>
<script src="scripts/validate/jquery_last.js" type="text/javascript"></script>
<link type="text/css" rel="stylesheet" href="styles/validator.css"></link>
<script src="scripts/validate/formValidator_min.js" type="text/javascript"></script>
<script src="scripts/validate/formValidatorRegex.js" type="text/javascript"></script>
<script language="javascript" src="scripts/validate/DateTimeMask.js" type="text/javascript"></script>
<script type="text/javascript"><!--
$(document).ready(function(){
$.formValidator.initConfig({onError:function(msg){alert(msg)}});
$("#username").formValidator({onshow:"请输入用户名",onfocus:"用户名至少4个字符,最多10个字符",oncorrect:"该用户名可以注册"}).InputValidator({min:4,max:10,onerror:"你输入的用户名非法,请确认"}).RegexValidator({regexp:"username",datatype:"enum",onerror:"用户名格式不正确"})
    .AjaxValidator({
    type : "get",
url : "${validateUserName}",
datatype : "json",
success : function(data){
alert(data);
            if( data == "1" )
{
                return true;
}
            else
{
                return false;
}
},
buttons: $("#button"),
error: function(){alert("服务器没有返回数据,可能服务器忙,请重试");},
onerror : "该用户名不可用,请更换用户名",
onwait : "正在对用户名进行合法性校验,请稍候..."
}).DefaultPassed();

$("#password1").formValidator({onshow:"请输入密码",onfocus:"密码不能为空",oncorrect:"密码合法"}).InputValidator({min:1,onerror:"密码不能为空,请确认"});
$("#password2").formValidator({onshow:"请输入重复密码",onfocus:"两次密码必须一致哦",oncorrect:"密码一致"}).InputValidator({min:1,onerror:"重复密码不能为空,请确认"}).CompareValidator({desID:"password1",operateor:"=",onerror:"2次密码不一致,请确认"});
});
这是Action的配置
<struts>
<package name="index" extends="struts-default" namespace="/">
<action name="index">
<result>/WEB-INF/welcome.jsp</result>
</action>
<action name="regist">
<result>/WEB-INF/pages/common/register.jsp</result>
</action>
</package>
<package name="regist" extends="json-default" namespace="/reg">
<action name="validateUserName" class="registAction"
method="validateUserName">
<result type="json">
<param name="excludeProperties">
service,user
</param>
</result>
</action>
</package>
</struts>

解决方案 »

  1.   

    下面是报错页面。
    信息: Server startup in 10958 ms
    2010-6-30 9:19:58 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
    警告: No configuration found for the specified action: '' in namespace: '/'. Form action defaulting to 'action' attribute's literal value.
    2010-6-30 9:19:59 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
    警告: No configuration found for the specified action: '' in namespace: '/'. Form action defaulting to 'action' attribute's literal value.
    2010-6-30 9:20:10 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
    警告: Could not find action or result
    There is no Action mapped for namespace / and action name validateUserName. - [unknown location]
    at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:178)
    at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
    at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
    at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:478)
    at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)
    请各位大哥帮忙看看
      

  2.   

    There is no Action mapped for namespace / and action name validateUserName.没有相应的action啊,异常已经出来了
    url : "${validateUserName}",应该是这里有问题,看看你的url到底是什么东西