学了Java一年多,项目也写了几个。包括毕业设计都是自己用Struts做出来的。现在在公司,一个同事问了我一个关于动态添加Html组建,在后台处理多个值的问题。我就用Struts2搭了一个很小的框架,结果出现了问题。正如标题所说,能进入Action,但是无论result名字怎么改,都找不到result。
下面贴上代码,请高手指点一二。
web.xml部分代码:  <filter-mapping>
   <filter-name>struts2</filter-name>
   <url-pattern>*.action</url-pattern>
  </filter-mapping></web-app>JSP页面部分代码:<form name="send" method="post" action="act.action">struts.xml部分代码<package name="s" extends="struts-default">
<action name="act" class="com.ustcsoft.action.Act">
<result name="error">/act.jsp</result>
</action>
</package>
Act.java文件: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高手如云,也最喜欢到这个论坛搜一些问题。请看出来问题的不吝赐教。在此谢过了。

解决方案 »

  1.   

    没人理会么……召唤大神。令:web.xml是Myeclipse自动生成的,还有一半没有贴出来。
      

  2.   

    首先你确定execute()被执行到了?
    如果执行到,把error换其他的名字吧!
    然后看下跳转.
    这个错貌似是少了log4j.jar,加入虾JAR包
      

  3.   

    调试一下,看是否执行excecute()看下跳转的error
      

  4.   

    <result name="error">/act.jsp</result>斜杠删掉试试。
      

  5.   

    struts2中action如何获取Session,jsp页面参数等等信息的值
    http://www.devtutor.com/index.php?doc-view-3548.html
      

  6.   

    多谢回答,我曾在DEBUG模式下调试过,确实执行到了execute了,而且成功return,不然也不会说找不到error。log4j好像是管理日志的吧,和我遇到的问题有关吗?
      

  7.   


    这个方法用过,刚开始就是没加斜杠,而且如果是斜杠的问题,错误提示应该会提示页面act。jsp找不到,不会提示result找不到吧。
      

  8.   

    这二天逛论坛时遇见很多这样的问题了,从兰州的配置来看我觉得应该无问题,于是也去看了些东西。请试下在
    execute()方法执行时加上以下代码,看看运行时的配置信息是什么
    Dispatcher.getInstance().getConfigurationManager().getConfiguration().getRuntimeConfiguration().getActionConfigs().get("namespace").get("actionName").getResults().get("resultName");
    也可以观察下
    Dispatcher.getInstance().getConfigurationManager().getConfiguration().getRuntimeConfiguration().getActionConfigs()这个里面的值直到找到你的ACTION配置的RESULT
      

  9.   

    我也遇到了同样的问题,,在那个配置那里输出的是null   怎么回事呢  怎么解决
      

  10.   

    <package  namespace="/" name="s"  extends="struts-default">就行了吧 我的这样就行了
      

  11.   

    正解!!!这个问题我也遇到了 这才对 namespace="/"是重点!
      

  12.   

    楼上正解!!我的也是,我的环境是MyEclipse 10,以前在XP系统用6.0的时候,不加namespace="/"也是可以的,后来换64位 win7装了10,就出这个问题