日期:2014-05-20  浏览次数:20698 次

structs2找不到action!
页面
HTML code

<s:form action="list">   
<s:submit value="显示用户" />
</s:form>



struts.xml
XML code
<package name="person" extends="struts-default">
  <action name="list1" class="personAction" method="execute">
  <result>list.jsp</result>
  <result name="input">list.jsp</result>
  </action>
  </package>


为什么找不到action?

------解决方案--------------------
为什么上面的name是list
action里面配置的是list1
------解决方案--------------------
<action name="list1" class="personAction" method="execute">
personAction 类有没有导入包名?
------解决方案--------------------
<package name="person" extends="struts-default" namespace="/sample" >
<!-- 类需要加上包名 -->
<action name="list1" class="personAction" method="execute">
<result>list.jsp</result>
<result name="input">list.jsp</result>
</action>

<!-- 这儿还需要一个结尾 -->
------解决方案--------------------
LZ能多贴一点信息吗?action ,beans.xml,错误信息。。。
另外<result>list.jsp</result>
<result name="input">list.jsp</result>
这两个list.jsp在前面加上"/"
------解决方案--------------------
action="list">
,<action name="list1" 当然找不到了
------解决方案--------------------
<s:form action="list1.action" namespace="/sample">要这样访问,因为如果没有设置struts.action.extension这个属性的值(默认值在default.properties中设置,你可以在struts.properties中修改成别的),struts2 默认拦截后缀名为.action的action.
------解决方案--------------------
是找不到action还是找不到result对应的物理资源名?如果是后者 建议list.jsp前面加/试试。。
------解决方案--------------------
探讨

applicationContext.xml中配置有
<bean id="personAction" scope="prototype"
class="eamp.action.PersonAction">
<constructor-arg ref="personService" />
</bean>

personAction bean的class的属性被设置成act……