我使用 struts2
作为服务器端,使用 ExtJS4
作为 UI。我有一个简单的表单,我将其提交到服务器。尽管我只是返回 ActionSupport.SUCCESS
,但响应始终针对请求的失败情况。我正在使用 struts 的 json 插件以 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>
Action 类别: 我有所有变量的 getter setter 和 Action 类扩展了 ActionSupport
public String processData(){
System.out.println("Clip: "+getClipName());
System.out.println("AS val: "+ActionSupport.SUCCESS);
return ActionSupport.SUCCESS;
}
另外,我想在网格中显示数据。我有一个返回 List 对象的方法。但我遇到了异常(exception)
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.
我无法找到这里出了什么问题。请帮助我纠正其中的错误。
最佳答案
我通过执行以下操作解决了该问题:
-创建了一个 boolean 变量成功
私有(private) boolean 成功
-添加了变量success
的getter和setter方法
-在方法中将 success
的值设置为 true
。在我的例子中,它是 processData()
通过这样做,在 json 响应中将有一个名为 success
的属性,其值设置为 true
。
希望它能帮助别人。!
关于java - ExtJS 成功操作未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26881923/