未调用 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 成功操作的主要内容,如果未能解决你的问题,请参考以下文章