6个回答
展开全部
action默认是在包中的,如果你把package去掉,他就不会去识别那个东西,这个struts2的一种机制,具体不知道。反正你现在的错误就是因为你的action没在一个包中
默认的包名是'/',也可以使用其他的包名。
默认的包名是'/',也可以使用其他的包名。
更多追问追答
追问
昨天提交时,字数超出,只是把action中的class改成spring 中注入的bean了。其它省略了而已,不是这个问题
追答
你试试改把你方法的名字或者类的名字改一下吧,有的时候会出现这样的问题,类名和方法名相同出的问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请问你整合struts的web.xml文件修改好了没,
web.xml:
<!-- struts2-spring-plugin,用于 spring容器初始化-->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<!-- Context Configuration locations for Spring XML files 用于查找spring容器的配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:beans.xml</param-value>
</context-param>
struts.xml:
<!-- Add packages here -->
<constant name="struts.devMode" value="true" />
<package name="registration" extends="struts-default" >
<action name="user" class="userAction" method="register" >
<result name="success">/registerOK.jsp</result>
<result name="fail">/registerFail.jsp</result>
</action>
</package>
我这样配置的测试没问题的。
web.xml:
<!-- struts2-spring-plugin,用于 spring容器初始化-->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<!-- Context Configuration locations for Spring XML files 用于查找spring容器的配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:beans.xml</param-value>
</context-param>
struts.xml:
<!-- Add packages here -->
<constant name="struts.devMode" value="true" />
<package name="registration" extends="struts-default" >
<action name="user" class="userAction" method="register" >
<result name="success">/registerOK.jsp</result>
<result name="fail">/registerFail.jsp</result>
</action>
</package>
我这样配置的测试没问题的。
更多追问追答
追问
这么写就不是由Spring来维护action了,而是由Struts来维护自己的action对象
追答
devMode模式是开发模式,开启它则默认开启了i18n.reload、configuration.xml.reload
不用管它
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单的一个问题,你把那些结果映射页面前面都加个“/”应该就没问题了,
<action name="logoff" class="logoffAction">
<result name="success">/login.jsp</result>
</action>
<action name="logoff" class="logoffAction">
<result name="success">/login.jsp</result>
</action>
更多追问追答
追问
不是这个问题,现在的问题是action中class对应的bean loginAction 没有注入,连Action类都找不到,还谈不上result有问题哩
追答
你的testLogin到底是个类还是个method?,spring整合struts2时,配置文件应该是这样写的:
struts配置文件中action标签的id属性的值就是页面表单的提交的名字,spring配置文件中的bean标签的id的值应该与struts配置文件中对应的action标签的class的值一样,而spring中bean标签的class属性值就写该action的绝对路径,你的method属性是指请求只交给该类中的testLogin方法来处理,设置了这个属性,那么就不会执行execute方法了,只会执行testLogin方法
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主有没有添加struts对spring的支持?
更多追问追答
追问
你说的是它吗??struts2-spring-plugin-2.2.3.jar
追答
不是 是Struts2 Spring Libraries。这是在你右键项目 myeclipse add struts ,选择struts2.1之后 不要点完成,点下一步,之后会出现的,有很多复选框,默认选中了一个,你再选中这个就行了。还有,你的result中页面路径好像不对……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
去掉 namespace 试试吧
还有scope
还有scope
追问
问题出在Spring注入的bean actionLogin 上了。因为找不到这个bean所以,具体的xxx.action就肯定找不到
追答
刚开始理解错了 应该是你分析的第二种情况
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询