当前位置:编程学习 > JAVA >>

struts2 在页面自动跳转到一个action,ie 和firefox 有区别

错误:
Struts has detected an unhandled exception:  

Messages: com.meishi.action.indexAction  
Unable to instantiate Action, com.meishi.action.indexAction, defined for 'index' in namespace '/back'com.meishi.action.indexAction  





页面:
<SCRIPT type="text/javascript">
setTimeout("loady()", 3000);
function loady(){
window.location='index.action';
}
</SCRIPT>

 </head>
   
  <body>
  成功登陆!!3秒后为你自动跳转<br/>
  如果页面没有自动加载,请
  <a href="index.action">单击这里</a>
  </body>


问题是:登录成功后,也跳转到了这个页面,3秒后跳转时出错了。
主要是地址栏多了一个namespace:
http://localhost:8080/meishi_final/back/index.action

正确地址应该是
http://localhost:8080/meishi_final/index.action
 



---------------------------------------------------------------
追加一个问题:
自动跳转,怎么解决不同浏览器跳转方式不同
IE:
  setTimeout("loady()", 3000);
  function loady(){
window.location.href='../index.action';
  }

Firefox:
  setTimeout("loady()", 3000);
  function loady(){
window.location.href='index.action';
  } --------------------编程问答-------------------- 不知道怎么改 但是ie和火狐是有问题  他俩内核不同 我们做项目都是需要两个都测试通过的  还是代码有问题 --------------------编程问答-------------------- 实在不行就使用绝对路径吧,不要使用../的相对路径。 --------------------编程问答-------------------- 这个与浏览器没有关系。是你程序写的有问题。

1>.struts.xml代码看一下。全部。
2>.相关jsp看一下。

--------------------编程问答-------------------- 没有遇到过这种问题 --------------------编程问答--------------------
引用 3 楼 redlotus_lyn 的回复:
这个与浏览器没有关系。是你程序写的有问题。

1>.struts.xml代码看一下。全部。
2>.相关jsp看一下。



<package name="front" namespace="/" extends="meishi-default">
     <default-action-ref name="index"></default-action-ref>
     <action name="index" class="com.meishi.action.IndexAction">
     <result>/index.jsp</result>
     </action>
</package>


登录成功的jsp
<SCRIPT type="text/javascript">
setTimeout("loady()", 3000);
function loady(){
//window.location.href='index.action';

window.location.href='${basePath}/index.action';
}
</SCRIPT>
  </head>
  
  <body>
    
     <s:property value="#session.user.uname"/>
     |<s:property value="#session.user.uid"/><br/>
     <a href="back/User_modifyInput?id=<s:property value="#session.user.uid"/>">测试修改我的资料</a>
     <hr>
     成功登陆!!3秒后为你自动跳转<br/>
     如果页面没有自动加载,请
     <a href="index.action">单击这里</a>
    <s:debug></s:debug>
  </body>


--------------------编程问答--------------------
引用 2 楼 sdliubo 的回复:
实在不行就使用绝对路径吧,不要使用../的相对路径。



但是在js中写绝对路径不太好吧。 --------------------编程问答-------------------- 和楼主遇到同样的问题,在google浏览器下没问题,在ie下就多出一个namespace.待解决。 --------------------编程问答-------------------- 让namespace那个地方只有一个空字符串就行了
不要写任何东西 --------------------编程问答--------------------
window.location.href='<%=basePath%>'+
我也遇到过,加'<%=basePath%>'拼路径吧 --------------------编程问答--------------------

js和struts2没有关系吧
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,