zoukankan      html  css  js  c++  java
  • No result defined for action的一个原因

    No result defined for action com.tazi.action.SomeAction and result input - action - file:/D:/MyEclipse_Workspaces/XXX/WebRoot/WEB-INF/classes/struts-omc.xml:383:69

    我碰到的这个问题的原因是:

    Action的参数填充时出了问题。

    比如我有一个参数是Integer类型的(名称为state),但客户端传过来的是一个不能转换为Integer的字符串,比如"hello"。

    我当时前台使用了Ext Js的FormPanel(对象名为myForm),其中有一个name为state的ComboBox(值为1,2,3,对应的显示值为"success","fail","unknown").但由于某些特殊的需要,我不得不使用FormPanel的原始表单提交方式,即使用这个myForm.form.submit()方法:

    myForm.form.el.dom.action='SomeAction!exportReport.action';
    myForm.form.el.dom.target="exportFrame";   //这里target可以是"_blank"等也可以是某一个iframe的名称,因为我这边是要导出Excel,所以在页面里嵌入了iframe.
    myForm.form.submit();

    提交表单时,传到Action里的state的值其实是"success","fail","unknown"中的一个,因为原始的表单提交方式是不会对ComboBox进行值转换的。所以就报错了。

    解决办法是:

    去掉state对应的ComboBox的name属性。同时在FormPanel中增加一个{xtype:'hidden',name:'state'}这样的表单域,并

    form.form.findField('state').setValue(stateComboBox.getValue());

    就ok了。

  • 相关阅读:
    每周进度条(第九周)
    团队项目最后更改版
    项目需求分析与建议 NABCD模型
    课堂练习找水王
    问题账户需求分析
    2016年秋季个人阅读计划
    学习进度条
    用户体验
    程序员修炼之道——从小工到专家阅读笔记03
    程序员修炼之道——从小工到专家阅读笔记02
  • 原文地址:https://www.cnblogs.com/tazi/p/2955111.html
Copyright © 2011-2022 走看看