未调用 ExtJS 成功操作

Posted

技术标签:

【中文标题】未调用 ExtJS 成功操作【英文标题】:ExtJS success action not being called 【发布时间】:2015-01-09 00:10:15 【问题描述】:

我将struts2 用于服务器端,ExtJS4 用于 UI。我有一个简单的表单,我提交给服务器。尽管我只是返回ActionSupport.SUCCESS,但响应总是针对请求的失败案例。我正在使用 json-plugin for struts 以 json 格式返回响应。如何检查退回的内容?有人可以帮我解决这个问题吗?

 validateForm: function(button)
            var form=button.up('form').getForm();
            form.url='addData';
            form.submit(
                success: function(form, action) 
                    Ext.Msg.alert('Success', 'Submit success');
                ,

                failure: function(form, action) 
                    Ext.Msg.alert('Failed', 'Error returned from the server');
                
            );
    

struts.xml

<package name="ELM29" extends="struts-default,json-default">
        <action name="addData" class="com.test.elm.action.Data"
            method="processData">
            <result type="json"></result>
        </action>
    </package>

动作类: 我有所有变量的getter setter,并且动作类扩展了ActionSupport

public String processData()

        System.out.println("Clip: "+getClipName());
        System.out.println("AS val: "+ActionSupport.SUCCESS);
        return ActionSupport.SUCCESS;

    

另外,我想在网格中显示数据。我有一个返回 List 对象的方法。但我遇到了一个例外

Exception occurred during processing request: java.util.ArrayList cannot be cast to java.lang.String: java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.lang.String.

我无法在这里找到问题所在。请帮助我纠正其中的错误。

【问题讨论】:

请检查此java.dzone.com/articles/ext-js-forms-integration 一次。请尝试使用form.submit 一次。 谢谢...是的,form.submit() 正在将参数传递给 Struts 但响应转到失败案例 请尝试返回 Action.SUCCESS 一次。 好的..我现在正在尝试。我不确定响应是否被返回。如何检查返回的内容? 尝试了 Action.SUCCESS...但仍然是同样的问题.. 【参考方案1】:

我通过以下操作解决了这个问题:

- 创建一个布尔变量成功 private boolean success

-为变量success添加了getter和setter方法

-在方法中将success的值设置为true..在我的例子中是processData()

通过这样做,在 json 响应中将有一个名为 success 的属性,其值设置为 true

希望它对某人有所帮助。!

【讨论】:

以上是关于未调用 ExtJS 成功操作的主要内容,如果未能解决你的问题,请参考以下文章

来自 Fluxxor 的 Ajax 请求未发送成功操作

ExtJs 多个 Ajax 调用

ExtJS+django表单提交成功/失败问题

未调用骨干成功事件

安装项目中的 DragDrop 注册未成功

如何从 ExtJS 商店打印(或警告)值?