我的登录页面引用了这些脚本做客服端校验
<script type="text/javascript" src="jslib/jquery-1.4.2.js"></script>
<script type="text/javascript" src="jslib/ajax.js"></script><s:fielderror></s:fielderror>
   <s:form action="login" namespace="/login" method="post">
   用户名:<input type="text" name="user.username" id="username" onblur="validename()" /><br/>
   密     码:<input type="password" name="user.password" id="password" /><br/>
   验证码:<input type="text" name="vercode" id="vercode" value="" /><br/>
          <s:submit value="提交"></s:submit>
</s:form>在地址栏http://127.0.0.1:8080/UserLogin/regist.jsp这样登录的时候onblur="validename()"这个外部脚本的函数还
能用,但是到了struts2的校验文件校验失败的话
地址栏变成http://127.0.0.1:8080/UserLogin/regist/regist.action
就会提示validename()没有定义,没有引用到jslib/ajax.js这个脚本文件
请问是什么原因啊?

解决方案 »

  1.   

    路径都错了 那个方法当然就没定义啦!地址栏变成http://127.0.0.1:8080/UserLogin/regist/regist.action
    这个原因肯定是你地址转向出错了!  action="register.action" 你是不是这样做的呢?
      

  2.   

    验证失败后跳回原来页面
    <result name="error">/regist.jsp</result>
      

  3.   

    我跳回的还是刚才的regist.jsp啊
    <package name="regist" namespace="/regist" extends="myDefault">
    <action name="regist" class="registAction" method="regist">
    <result name="success">/success.jsp</result>
    <result name="input">/regist.jsp</result>
    <result name="failure">/failure.jsp</result>
    </action>
    </package>
      

  4.   

    地址没转向错啊,还是回到刚才的regist.jsp页面只是变成
    http://127.0.0.1:8080/UserLogin/regist/regist.action
    引用不到外部的js文件
      

  5.   

    终于行了改成这样就行了
    <script type="text/javascript" src="<%=request.getContextPath() %>/jslib/jquery-1.4.2.js"></script>
    <script type="text/javascript" src="<%=request.getContextPath() %>/jslib/ajax.js"></script>
      

  6.   

    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>

    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'index.jsp' starting page</title>

      </head>
      
      <body>
     
      </body>
    </html>
      

  7.   

    <script type="text/javascript" src="<s:url value="/jslib/jquery-1.4.2.js" />"></script>
    <script type="text/javascript" src="<s:url value="/jslib/ajax.js" />"></script>