-2

我的 json 数据是

{"postData":[{"itemId":"mcw750","currentQty":"90","saleQty":"8","unitPrice":"100","salePrice":"800"}]}

var postData = JSON.stringify(data);

alert("The following data are sending to the server:\n"+postData);\\here i m getting all values..

$.ajax({
    type: "POST",
    url: "http://localhost:7001/Final_Subgrid2/jsonaction.action",
    dataType:"JSON",
    data:postData,
    traditional: true,
    contentType: "application/json; charset=utf-8",
    success: function(response, textStatus, xhr) {
    alert("success");
    },
    error: function(xhr, textStatus, errorThrown) {
    alert("error");
    }
});

在 Action 类中,我有带有 setter 和 getter 的公共 List postData。请告诉我为什么我在动作类中得到空数据。

我有员工 pojo 类。(itemId,currentQty,saleQty,unitPrice,totalPrice)当我将更新的 jqgrid 数据发送到操作类时,它得到空值。我的 json 数据没问题,ajax 正在向操作发送正确的数据(如在 firebug 中看到的) )

我的动作映射是。

我仍然得到空值请指导我正确的方向

最后我解决了我的问题..感谢大家帮助我..

4

2 回答 2

0

您不需要用于 postdata 的 getter/setter,postdata 项目作为请求参数单独发送,因此 itemId 在 requestmap 中作为 itemId。Postdata 不是以 json 格式发送的。

在您的操作类中为您在 postdata 中发送的所有项目添加 getter/setter

[get/set]ItemId, [get/set]CurrentQty, ....

于 2013-08-05T17:15:45.937 回答
0

我已经修改了我的 struts.xml 及其作品..

<action name="jsonaction" class="main.com.java.action.GetData" method="getJson">
  <interceptor-ref name="json">
    <param name="contentType">application/JSON</param>
    <param name="excludeNullProperties">true</param>
  </interceptor-ref>

  <result name="success" type="json"/>
</action> 
于 2013-08-06T10:02:05.227 回答