Struts2能进入Action但是找不到result的问题
学了Java一年多,项目也写了几个。包括毕业设计都是自己用Struts做出来的。现在在公司,一个同事问了我一个关于动态添加Html组建,在后台处理多个值的问题。我就用Struts2搭了一个很小的框架,结果出现了问题。正如标题所说,能进入Action,但是无论result名字怎么改,都找不到result。
下面贴上代码,请高手指点一二。
web.xml部分代码:
XML code
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping></web-app>
JSP页面部分代码:
HTML code
<form name="send" method="post" action="act.action">
struts.xml部分代码
XML code
<package name="s" extends="struts-default">
<action name="act" class="com.ustcsoft.action.Act">
<result name="error">/act.jsp</result>
</action>
</package>
Act.java文件:
Java code
public class Act extends ActionSupport {
private String username;
public String execute() throws Exception {
return "error";
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
错误信息也贴出来吧:
2011/09/06 16:24:42 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
警告: Could not find action or result
No result defined for action com.ustcsoft.action.Act and result error
自己也排错排了很久,上网上查,一部分是写错了名字,一部分是大小写问题,一部分是Struts2不稳定。Myeclipse重启两次了,想做最后的努力,知道CSDN高手如云,也最喜欢到这个论坛搜一些问题。请看出来问题的不吝赐教。在此谢过了。
------解决方案--------------------调试一下,看是否执行excecute()
看下跳转的error
------解决方案--------------------清理一下你的项目然后重新编译
------解决方案--------------------
这二天逛论坛时遇见很多这样的问题了,从兰州的配置来看我觉得应该无问题,于是也去看了些东西。请试下在
execute()方法执行时加上以下代码,看看运行时的配置信息是什么
Dispatcher.getInstance().getConfigurationManager().getConfiguration().getRuntimeConfiguration().getActionConfigs().get("namespace").get("actionName").getResults().get("resultName");
也可以观察下
Dispatcher.getInstance().getConfigurationManager().getConfiguration().getRuntimeConfiguration().getActionConfigs()这个里面的值直到找到你的ACTION配置的RESULT