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

问题描述

我的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之后,再次请求addNewPost,deletePost,showEditPost页面就出现如下错误:这个是什么问题?已经困扰我很久了,马上要答辩了,急啊。。。

解决方案

不知道你的spring action bean 是不是prototype的?
解决方案二:
strust2.x默认是多实例(prototype),每个请求都会产生相应的action实例去处理,但是spring整合后 就由spring管理bean 默认是单例模式,Action继承actionSupport会校验数据,如果转换出错,会找你要input视图,没配就出错找不到,.! ,如果继续访问该action还是会报错。因为是单例,上次的错误异常还在,因为没有清除,所以继续出错返回inpput,可以给action加上@Scope("prototype") 注解,不用单例
解决方案三:
访问action出错了,返回的逻辑地址为input action中没有配置input
解决方案四:
引用但是我要把boardId参数传过去的啊。。不然那边拿不到还是要报错的改为正常的请求参数自动映射到action变量的方式不行么。为什么非要选择这种传递方式呢?感觉后期应该很难维护啊。
解决方案五:
是因为你跳转了之后,页面跑到另一个目录下面去了,所以你再点提交的时候,报404错误,你会发现你的action地址已经变了,你再看看你的提交的地址就会发现这个错误
解决方案六:
执行addNewPost,deletePost,showEditPost后台没报错么?
解决方案七:
可能和action配置有关系,生命周期好短。。。。或者是上一次改变了result的值?应该不太会
解决方案八:
postId
解决方案九:
错误信息已经提示明显了,对于postaction没有定义的result。把你的项目发上来,帮你调试一下。
解决方案十:
可能是用了postId=${#request.postId}的原因。为什么用这种方式呢?参数不是都映射到action的属性吗,在action里面取属性不行吗

时间: 2024-08-22 15:10:50

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

java-刚学ssh框架做了一个项目 jsp页面无法获取action的值,求教啊。。。以下是代码

问题描述 刚学ssh框架做了一个项目 jsp页面无法获取action的值,求教啊...以下是代码 页面都正常跳转 就是取不到值 用的是iframe框架 main.jsp可以获取,不过main.jsp指向的top.jsp页面无法获取值 Action部分代码 private static final long serialVersionUID = 1L; private UserService userService; private User user; public String login()

ssh框架-SSH框架整合的注册登陆例子,hql老是报错。注册可以运行,求大侠解救

问题描述 SSH框架整合的注册登陆例子,hql老是报错.注册可以运行,求大侠解救 这个是登陆源码 public boolean loginObject(User user) throws HibernateException{ System.out.println("6666666666666"); //String hql=("from User u where?u.username=? and u.password=?",user.getUsername(),u

配置-我用SSH框架做的一个试题库系统,点一些按钮时没有反应

问题描述 我用SSH框架做的一个试题库系统,点一些按钮时没有反应 我用SSH框架做的一个试题库管理系统,当我点击比如增加章节按钮但没有反应,控制台上也没有显示信息,页面也不跳转请问是什么原因? 这是我的增加的那个action方法 public void insertCharpter() throws Exception { request = ServletActionContext.getRequest(); response = ServletActionContext.getRespons

ssh框架整合实例子1-配置文件

ssh框架整合实例子-配置文件 主要配置文件如下: 1.web.xml: 配置actionservlet类和映射配置Listener,加载spring配置 <?xml version="1.0" encoding="UTF-8"?><web-app version="2.4"  xmlns="http://java.sun.com/xml/ns/j2ee"  xmlns:xsi="http://ww

该怎么解决-SSH框架整合,出现异常

问题描述 SSH框架整合,出现异常 java.lang.reflect.InvocationTargetException sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(De

ssh整合-SSH框架整合 Linux平台转移到windows平台

问题描述 SSH框架整合 Linux平台转移到windows平台 在做SSH框架整合时,所有的包都导入了并且运行正常,但不知道为什移到windows上就报错 : Cannot find class [com.mchange.v2.c3p0.CombopooledDataSource] for bean with name 'dataSource' defined in class path resource [applicationContext-ds.xml]; 注:这个项目是在老师的wind

JBPM4.4与SSH框架整合之后,启动Tomcat6.0之后,一直在查询JBPM4_JOB

问题描述 JBPM4.4与SSH框架整合之后,启动Tomcat6.0之后,一直在查询JBPM4_JOB,而且每个5秒查询一次.求各位大侠帮我解决一下.Hibernate:selectjobimpl0_.DBID_asDBID1_3_,jobimpl0_.DBVERSION_asDBVERSION3_3_,jobimpl0_.DUEDATE_asDUEDATE4_3_,jobimpl0_.STATE_asSTATE5_3_,jobimpl0_.ISEXCLUSIVE_asISEXCLUS6_3_,

js onclick()方法第一次点击执行,第二次点击无反应

问题描述 js onclick()方法第一次点击执行,第二次点击无反应 很奇怪的问题,其他页面的onclick方法都没有问题,同一个页面的其他方法也没有问题,我一个button按钮绑定了一个onclick方法,但是第一次点击的时候方法正确执行,第二次点击无反应,debug时进不到方法,更奇怪的是我在方法里面写的ajax请求还能还能被执行!真是太诡异了,求大神帮忙 解决方案 失误,换个方法名就搞定了,太失败了 解决方案二: IE6下链接a的onclick事件点击无反应的处理方法 解决方案三: 所以

简单ssh框架整合

Struts2+Spring4 +Hibernate4 首先看看建立项目的框架      第一步  建立web项目 第二步  导入相对应需要的jar包(放在项目WEB-INFO/lib下)   需要导入Spring需要的,Struts2需要的,Hibernate需要的,mysQL连接驱动:    第三步  配置ssh各个的xml文件:      第四步 将log4j.dtd与log4j.xml放在WEB-INFO下:     log4j.xml   1 <?xml version="1.0