我的本意是想通过js来解决刷新页面时超链接重复提交的问题,可是加上js代码后页面跳转总是不对,请高手指点,代码如下:
这是页面超链接的代码:
<s:iterator value="dirList">
<a href="mysong!myDirSongList?dirId=${dirNum }&userId=${session.userId }"><s:property value="dirName"/></a> <a href="#" onclick="javascript:deleteD('${dirNum }','${session.userId }');">删除</a>
</s:iterator > 这是js 代码:
function deleteD(dirId,userId){ if(confirm("确定删除?")){
window.location.href = "mysong!delDir?dirId="+dirId+"&userId="+userId;
}else{
return;
}
}
这是struts2.xml的配置:
<action name="mysong" class="qqAction">
<result name="dirsongs">/dirsongs.jsp</result>
</action> 这是后台action里要调用的方法:
public String delDir(){
this.dirList = this.qqManager.deleteDir(this.userId, this.dirId);
return "dirsongs";
} 结果本该是跳转到dirsongs.jsp,但是经过多次测试,后台的action里的delDir()方法会执行,如果struts.xml里如果没有配<result name="dirsongs">/dirsongs.jsp</result>也会报错,而且配置了<result name="input">/dirsongs.jsp</result>,但是虽然会找到相应的result ,但是并不会跳转到相应的dirsongs.jsp,而是跳转到首页,如果把不用js只是普通的超链接就能顺利执行通过,只是无法控制刷新时重复提交。
这是页面超链接的代码:
<s:iterator value="dirList">
<a href="mysong!myDirSongList?dirId=${dirNum }&userId=${session.userId }"><s:property value="dirName"/></a> <a href="#" onclick="javascript:deleteD('${dirNum }','${session.userId }');">删除</a>
</s:iterator > 这是js 代码:
function deleteD(dirId,userId){ if(confirm("确定删除?")){
window.location.href = "mysong!delDir?dirId="+dirId+"&userId="+userId;
}else{
return;
}
}
这是struts2.xml的配置:
<action name="mysong" class="qqAction">
<result name="dirsongs">/dirsongs.jsp</result>
</action> 这是后台action里要调用的方法:
public String delDir(){
this.dirList = this.qqManager.deleteDir(this.userId, this.dirId);
return "dirsongs";
} 结果本该是跳转到dirsongs.jsp,但是经过多次测试,后台的action里的delDir()方法会执行,如果struts.xml里如果没有配<result name="dirsongs">/dirsongs.jsp</result>也会报错,而且配置了<result name="input">/dirsongs.jsp</result>,但是虽然会找到相应的result ,但是并不会跳转到相应的dirsongs.jsp,而是跳转到首页,如果把不用js只是普通的超链接就能顺利执行通过,只是无法控制刷新时重复提交。
解决方案 »
- Struts2单元测试 Couldn't get resource paths for class path resource [WEB-INF/res/]
- Java如何获得局域网内其他机器的主机名hostname?谢谢回答!
- class file editor Source Not Found
- 数据库里的list和form里的list作比较,删除数据库里list里多余的数据
- 关于jsp中frame的问题
- 高手才能解决的问题
- 谁有ssh的例子 要详细说明的 谢谢
- Jbuilder里面运行web程序,在网址里面打http://localhost:8080连接不到服务器?
- JBuilder 的打包问题
- 邮件连续多次发送失败
- STRUTS2无法传数据到后台问题
- tomcat配置问题
struts.xml里配
<interceptor-ref name="token" />拦截器
然后配一个全局的result,返回一个重复提交提示页面
<global-results>
<result name="invalid.token">
/WEB-INF/jsp/framework/tokenCheck.jsp
</result>
</global-results>
回复2楼同志,能具体指出我的错误吗?