struts2结合json时,action的对象字段无法赋值的原因
- 问题描述
- 问题解决
- 总结
问题描述
问题:配置按照常规配置json-plug之后,使用json提交数据之后需要赋值的对象赋值失败,但是字段成功赋值。
问题解决
代码
struts.xml
<interceptors>
<interceptor-stack name="myStack">
<interceptor-ref name="json"/>
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myStack" />
jsp文件中的ajax
<script type="text/javascript">
$(function(){
//按钮单击时执行
$("#testAjax").click(function(){
var o = {"pageSize":123,"currentPage":456,"qx":{"qxJses":[],"qxid":4,"qxmz":123}}
o = JSON.stringify(o)
console.log(o)
//Ajax调用处理
$.ajax({
contentType: "application/json",
type: "POST",//规定传输方式
url: "http://localhost:8080/qx_save",//提交URL
dataType : "json",
data: o,//提交的数据
success: function(data){
$("#myDiv").html('<h2>'+data+'</h2>');//交互成功回调
}
});
});
});
</script>
总结
contentType: “application/json” 这句话很重要表示你发送的文件格式为jason
var o = {"pageSize":123,"currentPage":456,"qx":{"qxJses":[],"qxid":4,"qxmz":123}}
o = JSON.stringify(o)
这一段代码将js对象装换为标准的json字符串