Sub Array / List в JQUERY 1.4.2 AJAX post использует ноль, использует Struts 2.3.34 и json pluin 2.3.34 - PullRequest
0 голосов
/ 09 июня 2018

Я использую jQuery 1.4.2, Struts 2.3.34 и плагин Struts JSON 2.3.34.

Публикуя значения с веб-страницы в Action, вначале все хорошо.Но если я добавлю к массиву подмассив / список, то после размещения подмассив / список станет null.

См. Определение бина и отображение действий в struts.xml ниже.

BasicBean

public class BasicBean implements Serializable {
  private String partNumber;
  private List<SubBean> subBeanList;

  public List<SubBean> getSubBeanList() {
    return subBeanList;
  }
  public void setSubBeanList(List<SubBean> subBeanList) {
    this.subBeanList = subBeanList;
  }
  public String getPartNumber() {
    return partNumber;
  }
  public void setPartNumber(String partNumber) {
    this.partNumber = partNumber;
  }
}

SubBean.java

public class SubBean implements Serializable {
  private String maxCritical;
  private String minCritical;

  public String getMaxCritical() {
    return maxCritical;
  }
  public void setMaxCritical(String maxCritical) {
    this.maxCritical = maxCritical;
  }
  public String getMinCritical() {
    return minCritical;
  }
  public void setMinCritical(String minCritical) {
    this.minCritical = minCritical;
  }
}

struts.xml

<action name="jsTest" method="doJSon" class="com.jst.action.JSTest">   
  <result name="error"  type="json">
    <param name="includeProperties">errorResult.*</param>
  </result>
  <result name="success" type="json">
    <param name="root">result</param>
  </result>
</action> 

JavaScript JQuery Ajax

var sbList = [];

localData = {
  '"maxCritical"' : '8',
  '"minCritical"' : '9'     
}

sbList.push(localData);

finalData = {
  'bb.partNumber':'6',
  'bb.subBeanList' : sbList
}

$.ajax({
  type: "post",
  url: updateUrl,
  data: finalData,
  cache: false,     
  dataType: 'json',
  success: function(msg){
  if (msg.errorResult) {
    if(msg.errorResult["error_code"] == "session_expired"){
      sessionExpired();
    }
    return;
  }
    jAlert("OK");           
  }     
});

В соответствии с окном отладки значения подчиненного компонента были отправлены на сервер:

enter image description here

Но на стороне сервера null, но другой элемент Partnumber был успешно отправлен:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...