Struts2框架下提交action时报No result defined for action or result input

开发中在java开发中在struts框架下提交action的时候总报错,No result defined for action or result input:

      出现这种错的原因:在提交action的时候,其对应的属性值为空或错误值导致数据类型转换失败进而导致structs2的默认拦截器报错,找不到input的Result,不能把错误信息返回。

  可能造成这种错误的情况是:1.action中对应接受的参数命名有重复,但后台action类的对应的接收此同名参数的是变量而没有写成数组;或者是在action中出现相同名称却不同类型的变量

               2.validate方法没有通过  

  解决方法:1.检查action中是否存在重复命名或重复却类型不一致的命名,在页面中给空值赋默认值或者在更改变量名使其不重复
       2.重新定义一个Action,去掉空值的成员变量。(这种一般没必要)
       3.添加input的Result,并在这个页面给出提示

  要检查这种错误时,可以:
     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);
  

  }

开发中遇到的错误,记下来,让自己长个记性。

转载于:https://www.cnblogs.com/lavender-java/p/7019208.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值