我在服务器端使用struts2
,在UI上使用ExtJS4
。我有一个简单的表单,我提交给服务器。尽管我刚刚返回ActionSupport.SUCCESS
,但响应总是转到请求的失败情况。我使用strons的json-plugin以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和action类扩展了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.
我无法在这里找到错误。请帮我纠正这个错误。
答案 0 :(得分:1)
我通过以下方式解决了这个问题:
- 创建一个布尔变量成功
private boolean success
-added变量success
- 在方法中设置success
到true
的值。在我的情况下,它是processData()
通过这样做,在json响应中将有一个名为success
的属性,其值设置为true
。
希望它有所帮助。!