0 0

SSH框架整合,某一个action第一次请求可以执行,但是第二次就不行了10

我的struts.xml配置如下

<!--?xml version="1.0" encoding="UTF-8" ?-->

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
	<package name="forum" namespace="/mok/forum" extends="default">
	<!-- 拦截器,暂时没什么用,这里先放着,到时候有需要的可以自己配 -->
		<interceptors>
			<interceptor name="myInterceptor" class="com.interceptor.MyInterceptor"></interceptor>
		</interceptors>
	
		<action name="login" class="loginAction" method="login">
			<result name="wrong" type="redirectAction">index</result>
			<result name="success" type="redirectAction">index</result>
		</action>
		<action name="loginOnly" class="loginAction" method="loginOnly">
			<result name="success">/mok/forum/login.jsp</result>
		</action>
		<action name="register" class="registerAction" method="register">
			<result name="success">/mok/forum/login.jsp</result>
			<result name="wrong">/mok/forum/register.jsp</result>
		</action>
		<action name="toRegister" class="registerAction" method="toRegister">
			<result name="success">/mok/forum/register.jsp</result>
		</action>
		<action name="index" method="index" class="forumAction">
			<result name="success">/mok/forum/index.jsp</result>
		</action>
		<action name="logout" method="logout" class="forumAction">
			<result name="success" type="redirectAction">index</result>
		</action>
		<action name="boardPostList" class="forumAction" method="boardPostList">
			<result name="success" >/mok/forum/spec_topics.jsp</result>
		</action>
		<action name="viewPost" class="forumAction" method="viewPost">
			<result name="success">/mok/forum/topic.jsp</result>
		</action>
		<action name="reply" class="replyAction" method="reply">
			<result name="success" type="redirectAction">viewPost?postId=${#request.postId}</result>
		</action>
		<action name="newPost" class="postAction" method="newPost">
			<result name="success">/mok/forum/post.jsp</result>
		</action>
		<action name="addNewPost" class="postAction" method="addNewPost">
			<result name="success" type="redirectAction">boardPostList?boardId=${#request.boardId}</result>
			<result name="wrong" type="redirectAction">newPost</result>
		</action>
		<action name="showEditPost" class="postAction" method="showEditPost">
		  <result name="success">/mok/forum/editPost.jsp</result>
		</action>
		<action name="editPost" class="postAction" method="editPost">
		  <result name="success" type="redirectAction">boardPostList?boardId=${#request.boardId}</result>
		</action>
		<action name="deletePost" class="postAction" method="deletePost">
		  <result name="success" type="redirectAction">boardPostList?boardId=${#request.boardId}</result>
		</action>
		<action name="showAprioriTable" class="forumAprioriAction" method="showAprioriTable">
		  <result name="success">/mok/forum/details.jsp</result>
		</action>
	</package>

</struts>

 出问题的action是addNewPost,deletePost,showEditPost,等等。。。比如请求了addNewPost之后,再次请求addNewPostdeletePost,showEditPost页面就出现如下错误:

这个是什么问题?已经困扰我很久了,马上要答辩了,急啊。。。
 


问题补充:这个地址如果第一次请求的话是可以的啊。。出现这个问题时的请求地址我复制下来之后重新启动服务器然后直接请求刚才的地址可以运行,但是一旦请求了addNewPost或者其他什么的,就不行了。
 
2013年4月18日 10:55
  • 大小: 106.6 KB

10个答案 按时间排序 按投票排序

0 0

采纳的答案

不知道你的spring action bean 是不是prototype的?

2013年4月18日 11:33
0 0

strust2.x默认是多实例(prototype),每个请求都会产生相应的action实例去处理,但是spring整合后 就由spring管理bean 默认是单例模式,Action继承actionSupport会校验数据,如果转换出错,会找你要input视图,没配就出错找不到,.! ,如果继续访问该action还是会报错。因为是单例,上次的错误异常还在,因为没有清除,所以继续出错返回inpput,

可以给action加上
@Scope("prototype")
注解,不用单例

2013年4月18日 17:08
0 0

访问action出错了,返回的逻辑地址为input action中没有配置input

2013年4月18日 15:24
0 0

引用
但是我要把boardId参数传过去的啊。。不然那边拿不到还是要报错的


改为正常的请求参数自动映射到action变量的方式不行么。

为什么非要选择这种传递方式呢?感觉后期应该很难维护啊。

2013年4月18日 15:24
0 0

是因为你跳转了之后,页面跑到另一个目录下面去了,所以你再点提交的时候,报404错误,你会发现你的action地址已经变了,你再看看你的提交的地址就会发现这个错误

2013年4月18日 15:21
0 0

执行addNewPost,deletePost,showEditPost后台没报错么?

2013年4月18日 13:57
0 0

可能和action配置有关系,生命周期好短。。。。或者是上一次改变了result的值?应该不太会

2013年4月18日 13:55
0 0

postId

2013年4月18日 11:47
0 0

错误信息已经提示明显了,对于postaction没有定义的result。
把你的项目发上来,帮你调试一下。

2013年4月18日 11:09
0 0

可能是用了postId=${#request.postId}的原因。
为什么用这种方式呢?参数不是都映射到action的属性吗,在action里面取属性不行吗

2013年4月18日 11:07

相关推荐

    SSH框架整合jar包

    SSH框架整合jar包SSH框架整合jar包SSH框架整合jar包SSH框架整合jar包SSH框架整合jar包

    SSH框架整合图解(3个方案)

    SSH框架整合图解(3个方案)SSH框架整合图解(3个方案)SSH框架整合图解(3个方案)SSH框架整合图解(3个方案)SSH框架整合图解(3个方案)SSH框架整合图解(3个方案)SSH框架整合图解(3个方案)SSH框架整合图解(3...

    ssh框架整合需要的 jar包

    ssh框架整合需要的 jar包

    Java SSH 框架整合,学习源码

    Java SSH框架整合,分分钟学会!!

    SSH框架整合的jar包

    这个压缩包包含了SSH框架的的一些jar包,是自己写ssh项目总结出来的,小伙伴们有兴趣可以下载哟。

    SSH框架整合教程

    对初学Struts+Spring+Hibernate三大框架是很好的资料,对每个框架的解释和三大框架的整合详解教程

    SSH 框架整合实例

    SSH框架整合 (增删改查) 附带JAR包资源 有详细的注释

    ssh框架整合配置文件

    ssh框架整合配置文件 ssh框架整合配置文件 ssh框架整合配置文件 ssh框架整合配置文件 ssh框架整合配置文件 ssh框架整合配置文件 ssh框架整合配置文件 ssh框架整合配置文件 ssh框架整合配置文件 ssh框架整合配置文件 ...

    Maven ssh整合框架

    Maven ssh整合框架Maven ssh整合框架Maven ssh整合框架Maven ssh整合框架Maven ssh整合框架

    SSH框架整合步骤详解

    SSH框架整合步骤详解

    SSH框架整合实战教程

    SSH框架整合实战教程

    ssh框架jar包整合

    ssh框架整合jar包,整合好好的jar包资源,分散下载麻烦,直接打包,解压能用,使用jar包自己整合,程序员多练习

    《SSH框架整合实战教程》配套资源.zip

    《SSH框架整合实战教程》配套资源 ----黑马程序员,配套教学ppt,教学大纲,教学设计,课后题及答案,源代码等资源。

    ssh框架整合

    ssh框架整合,struts2 spring hibernate框架整合

    最详细的ssh框架整合讲解

    最详细的ssh框架整合讲解

    SSH框架整合项目源码

    三大框架整合开发案例,最适合初学者。对一个发布系统的优化及增删改查

    ssh框架整合jar包

    自己整理的一套学习用的ssh框架jar包,在自己刚刚学习ssh时使用的框架jar包,如果有其他需求可以自己添加

    SSH三大框架整合jar包

    最新整理的比较全面的SSH三大框架整合所需要的jar包,自己特意整理出来,方便大家下载使用!最新整理的比较全面的SSH三大框架整合所需要的jar包,自己特意整理出来,方便大家下载使用!

Global site tag (gtag.js) - Google Analytics