2014-02-10 40 views
0

我目前正在使用標準Dojo前端的Spring Roo項目。我希望我的一個選擇框可以根據從上一個選擇中選擇的選項來動態加載。該.jspx文件看起來像這樣:使用ajax動態填充模型屬性

<form:create id="fc_za_co_itdynamics_survey_domain_Hierarchy" modelAttribute="hierarchy" path="/hierarchys" render="${empty dependencies}" z="uMMWuqMHFrh8u9++PH5WZfwEDGg="> 
    <field:input field="name" id="c_za_co_itdynamics_survey_domain_Hierarchy_name" min="2" required="true" z="0obmzH2lsnbEXbepG3O0z8Sl0SE="/> 
    <field:select field="type" id="c_za_co_itdynamics_survey_domain_Hierarchy_type" items="${hierarchytypeenums}" path="hierarchytypeenums" required="true" z="DstTv0Lvaswu9kaBdPwzpxdy9ZQ="/> 
    <field:select field="parentHierarchy" id="c_za_co_itdynamics_survey_domain_Hierarchy_parentHierarchy" itemValue="id" items="${hierarchys}" path="/hierarchys" z="7w1IXuZxyYUBZ/VIhDvss5HnIUw="/> 
</form:create> 

所以基本上我想在$ {}層次收集每當類型字段改爲動態地填充parentHierarchy場。

應該叫控制器方法是

@RequestMapping(value = "/getHierarchiesForType", method = RequestMethod.GET) 
public @ResponseBody List<Hierarchy> getHierarchiesForType(@RequestParam("type") String typeStr){ 
    ...... 
    ..... 
    return hierarchyList; 
} 

我想使用Ajax調用每當改爲調用控制器方法。我的代碼如下

dojo.addOnLoad(function() { 
    var hierarchyType = dijit.byId("_type_id"); 
    dojo.connect(hierarchyType,"onChange",function(){ 
     var url = "${ajax_url}?type=" + hierarchyType; 
     dojo.xhrGet({ 
      url : url, 
      handleAs : "??", 
      preventCache: true, 
      headers: { 
       "Content-Type": "??" 
      }, 
      load : function(data){ 
       ...... 
      }, 
      error : function(error) { 
       console.log("error", error); 
      } 
     }); 
    }); 
}); 

如何將這種調用的結果映射到$ {hierarchies}屬性?如果是這樣,這是做這件事的最好方法嗎?是否可以動態更改/生成模型屬性?

回答

0

嘗試用

handleAs: "json",
"Content-Type": "application/json; charset=utf-8"

此外,包括傑克遜庫項目:

<dependency> 
    <groupId>com.fasterxml.jackson.core</groupId> 
    <artifactId>jackson-databind</artifactId> 
    <version>2.2.1</version> 
</dependency> 
0

你好@Neriyan你找到一個答案?你可以發佈它嗎?感謝Neriyan,或者你跟着什麼?

(所以我沒有得到OP'd ...)

這裏有一個答案... 獲得通過AJAX的數據,把的jQuery/JavaScript的(Ajax響應,形成形成字段)

tadaaaa嘿嘿......

,但我還是(真的)喜歡聽Neriyan的想法(真正需要的)!

+0

你能否描述一下? – manetsus

+0

like .... ajax()。done(reponse){select.value = response} ahehehehehe – stackeroverflower