2015-02-24 608 views
0

我是新百里香。我被困在一個地方,我需要遍歷另一個列表中存在的字符串列表。例如,我有這樣的json:如何遍歷thymeleaf中另一個列表中的列表?

{ 
     "_id" : ObjectId("54e1865423asgj086"), 
     "Name" : "Carbon Utility", 
     "Modified In " : "DEC 5th", 
     "Imported" : "N", 
     "Classification" : "Functional SW delivery", 
     "Type Designation" : "Heavy Use", 
     "StateList" : [ 
       { 
         "name" : "Create", 
         "currentStatus" : "False", 
         "stateDuration" : "336264  " 
       }, 
       { 
         "name" : "Implement", 
         "currentStatus" : "False", 
         "stateDuration" : "1393827  " 
       }, 
       { 
         "name" : "RampUp", 
         "currentStatus" : "False", 
         "stateDuration" : "34  " 
       }, 
       ] 
       } 

在我的控制器中,我將它添加到一個對象。

@RequestMapping(value = "/Search1", method = RequestMethod.GET) 
    public String showEntity(@RequestParam("type") String typeNameid,Model model,HttpSession session) { 
     ------ my other stuffs-------- 
     ---- here i'm getting data from other html and spliting to add to model---- 
     model.addAttribute("resultSourceDbObject",migrationSourceDataBean.getResultSourceDbObject()); 

     return "wipdm/Display"; 
    } 

現在,在我的html頁面。我可以打印ID,名稱和類型的設置。但我堅持迭代通過狀態列表。對於每個狀態列表,我必須在表格內創建一個單獨的子文件夾,並且需要顯示名稱,狀態和持續時間。我正在嘗試這個,但沒有工作。

<table id="example-advanced" class="table table-striped table-bordered table-hover" style=" font-size:1.1em;"> 
     <thead class="dark-border-bottom"> 
      <tr> 
       <th style="text-align:center"> Key</th> 
       <th style="text-align:center">Values</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr data-tt-id='1'><td><span class="file">&nbsp;&nbsp;Type</span></td><td><span th:text="${resultSourceDbObject.getString('Type Designation')}"></span> </td></tr> 
      <tr data-tt-id='1'><td><span class="file">&nbsp;&nbsp;Name</span></td><td><span th:text="${resultSourceDbObject.getString('Name')}"></span> </td></tr> 
      <tr data-tt-id='1'><td><span class="file">&nbsp;&nbsp;id</span></td><td><span th:text="${resultSourceDbObject.getString('_id')}"></span> </td></tr> 
      <tr data-tt-id='2'><td><span class='folder'>Statelist</span></td><td></td></tr> 
       <tr data-tt-id='2-1' data-tt-parent-id='2' th:each="relresult : ${resultSourceDbObject.getString('StateList')}"><td><span class='folder' th:text="Relationship" >Relationship</span></td><td>Folder</td></tr> 
       <tr data-tt-id='2-1-1' data-tt-parent-id='2-1'><td><span class='file' >name</span></td><td th:text="${relresult.getString('name')}">Release</td></tr> 
       <tr data-tt-id='2-1-2' data-tt-parent-id='2-1'><td><span class='file'>currentstatus</span></td><td th:text="${relresult.getString('currentStatus')}">132456424</td></tr> 
       <tr data-tt-id='2-1-3' data-tt-parent-id='2-1'><td><span class='file'>Stateduration</span></td><td th:text="${relresult.getString('stateDuration')}">16572464</td></tr> 
     </tbody> 
</table> 

有人可以告訴我我哪裏會出錯,如何實現這一目標。提前致謝。

+0

'migrationSourceDataBean.getResultSourceDbObject()'返回什麼樣的對象?你能分享課堂墮落嗎? – lgd 2015-02-24 08:54:56

+0

它只是json對象。 'th:text =「$ {resultSourceDbObject.getString('Type Designation')}」'這給了我Type的期望輸出。我的問題是迭代狀態列表。 – Crazy2crack 2015-02-25 05:37:40

回答

0

我不確定哪種物體migrationSourceDataBean.getResultSourceDbObject()正在返回,但resultSourceDbObject.getString('StateList')不會返回您所需要的。 (我想這只是給你的JSON?)

假設它類似於JSONObject你應該打電話給getJSONArray()(或類似),它會給你你可以迭代的嵌套列表。