关于struts2后台接受jquery ajax提交的复杂对象
=============================Struts2配置文件==================================================
最主要的是Struts2的配置 如下配置好了,才能接受从前台通过ajax传来的复杂对象
<package name="abstract_struts" abstract="true" extends="struts-default,json-default" namespace="/">
<interceptors>
<interceptor-stack name="myStack">
<interceptor-ref name="json"></interceptor-ref>
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myStack" />
</package>
<package name="TestSHH" namespace="/" extends="abstract_struts">
<action name="login" class="com.hisoft.test.file.LoginAction" method="login">
<result name="success">/jsp/file/fileList.jsp</result>
<result name="false">/jsp/error.jsp</result>
</action>
<action name="addFile" class="com.hisoft.test.file.LoginAction" method="addFile">
<result type="json">
<param name="root">fileInfo.strFileList</param>
</result>
</action>
</package>
=============================前台js==================================================
var params = getFile();
var dataset = JSON.stringify(params);
$.ajax({
url:url,
type:"post",
async:true,
contentType:"application/json",
data:dataset,
success:function(json){
if(json.hashSyError){
alertMessage(json.errorCode,json.errorMsg);
}
else if(json.hashApError){
alertMessage(json.errorCode,json.errorMsg);
}else{
$("#tblFileList").datagrid('load',JSON.parse(json));
$("#tblFileList").datagrid('loadData',JSON.parse(json));
}
},
error:function(e){
alert(e.responseText);
}
});
function getFile() {
// fileInfo是action中对应的复杂对象,也可以说是一个类的对象
var params={fileInfo:{
fileName:$("#fileName").val(),
fileType:$("#fileType").val(),
fileContent:$("#fileContent").val()
}};
return params;
}
=============================后台action==================================================
public String addFile() {
System.out.println(fileInfo.getFileName());// fileInfo一定要有get和set方法
System.out.println(fileInfo.getFileContent());
return SUCCESS;
}
相关推荐
结束数据方法的参数,该如何定义?-- 集合为自定义实体类中的结合属性,有几个实体类,改变下标就行了。<input id="add" type="button" value="新增visitor&quo