struts2 action 配置问题

zerohh 发布于 2013/04/05 11:31
阅读 355
收藏 1

 由于在strus框架单个项目测试action映射报错,单独建立一个原始的struts项目,在action映射还是报错,送上截图--》

项目目录:

web.xml 截图:

struts.xml截图:

action截图:

index.jsp截图:

 

myeclipse 8.5 自带的struts jar包:


报错:

警告: Could not find action or result
No result defined for action net.hsf.action.LandAction and result input
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:364)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)

郁闷啊,不知哪里搞错了,google的答案试了也不行呐。 在action里直接retunt input,struts配置的result name也是input啊? 还有一点郁闷的,在配置action后指定method为 test,映射的时候走的还是execute方法,不进test方法? 先帮我看看第一个问题吧,怎么能这样呢。。。。

加载中
0
java9
java9
换个版本看看
0
w0lker
w0lker
命名空间问题,在配置文件中配上namespace属性
0
灰花走湿
灰花走湿
返回逻辑结果名的时候,你先试试success,看如何?然后再测试
灰花走湿
灰花走湿
另外也可以参考楼上的意见,加上namespace限制,
0
南湖船老大
南湖船老大
LS说得对,给你个例子参考
<struts>
  <constant name="struts.devMode" value="true" /> 
<package name="s2" namespace="/" extends="struts-default">
<action name="helloworld" class="com.zhurou.HelloAction" method="execute">
  <result name="success">/WEB-INF/page/hello.jsp</result> 
  </action>
  </package>
  </struts>
0
心有未来
心有未来
你如果将form改为action="/land"可行,即说明命名空间问题!
0
小猫王
小猫王

struts jar包好像有些会冲突,这是我用到的struts2 基本jar包,有其他需求在添加

struts 最好自己下载,选自己需要的jar包。

0
zerohh
zerohh

引用来自“经典忧郁”的答案

命名空间问题,在配置文件中配上namespace属性
嗯。 按你说的好了。 我记得以前不用配置的么,这是为什么呢?
0
zerohh
zerohh

引用来自“阿尔法兽”的答案

LS说得对,给你个例子参考
<struts>
  <constant name="struts.devMode" value="true" /> 
<package name="s2" namespace="/" extends="struts-default">
<action name="helloworld" class="com.zhurou.HelloAction" method="execute">
  <result name="success">/WEB-INF/page/hello.jsp</result> 
  </action>
  </package>
  </struts>
3q
0
zerohh
zerohh

引用来自“心有未来”的答案

你如果将form改为action="/land"可行,即说明命名空间问题!
这样不行 2L 方法可行.
心有未来
心有未来
好吧!终归还是命名空间问题...
0
zerohh
zerohh

引用来自“万里码”的答案

struts jar包好像有些会冲突,这是我用到的struts2 基本jar包,有其他需求在添加

struts 最好自己下载,选自己需要的jar包。

3q
返回顶部
顶部