某某猫 2014-12-15 07:56 采纳率: 66.7%
浏览 1940

Struts的注解方式无效

报错:
No result defined for action manage.action.MultiplyAction$$EnhancedByS2AOP$$1f8a98 and result mytest

MultiplyAction.java

@ParentPackage("manage")
@SuppressWarnings("serial")
@Results({
        @Result(name = "success", value = "WEB-INF/index.jsp"),
        @Result(name = "mytest", value = "WEB-INF/index.jsp") })

web.xml

<filter>
    <filter-name>struts2</filter-name>
     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    <init-param>
      <param-name>actionPackages</param-name>
      <param-value>manage.action</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping> 
可能是在哪里错了呢
  • 写回答

1条回答 默认 最新

  • devmiao 2014-12-15 08:00
    关注

    No result defined for action

    在开发中遇到这个问题,No result defined for action:
    原因:Action中的属性值为空的时候,Struts2的默认拦截器会报错,但是又找不到input的Result,不能够把错误返回,所以报这种错误。

    解决方法:
    1.在页面中给空值赋默认值。
    2.重新定义一个Action,去掉空值的成员变量。

    3.添加input的Result,并在这个页面给出提示

      当你在用struts2开发时,如果,从页面跳入action时,页面报No result defined for action and result时,大部分的原因有以下几种:

    1、validate方法没有通过;

    2、页面元素中有重命名时,但后台action类的对应的接收此同名参数的是变量而没有写成数组

    要检查这种错误时,可以
    1,在后台action类中重写ActionSupport中的
    void addActionError(String anErrorMessage)
    void addActionMessage(String aMessage)
    void addFieldError(String fieldName, String errorMessage)
    这三个方法,在并在其实现代码中设置断点,监控传入的参数,并可获知页面的相关报错具体原因.
    2,在页面中加入以下标签,将错误显示出来 :

    < div style =”color:red” >
    < s:fielderror />
    </ div >


    public void addActionError(String anErrorMessage){
    String s=anErrorMessage;
    System.out.println(s);
    }
    public void addActionMessage(String aMessage){
    String s=aMessage;
    System.out.println(s);

    }
    public void addFieldError(String fieldName, String errorMessage){
    String s=errorMessage;
    String f=fieldName;
    System.out.println(s);
    System.out.println(f);

    }

    评论

报告相同问题?

悬赏问题

  • ¥20 matlab计算中误差
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊