筆記 freemark list標籤迭代Map集合排序問題

本博客是本身在學習和工做途中的積累與總結,僅供本身參考,也歡迎你們轉載,轉載時請註明出處。前端

  工做中出現一個比較特殊的問題,在模板ftl文件中,通常用list迭代map學習

舉例:  spa

  後臺:排序

    // 傳入的參數博客

    Map<Map<String,Object>> itemMap = new LinkedHashMap<Map<String,Object>>();it

    .......  // put數據進入itemMap中模板

    print: {2:{name:"king"},1:{name:"arise"}}後臺

  前端模板文件:List

  <#list itemMap?keys as key>遍歷

     key: ${key}---- value: ${itemMap[key].name} <br />

  </#list>

  展現效果爲:

  key: 1 ----- value: arise

  key: 2 ----- value: king

  這裏就有問題了,後臺傳過來的是一個鏈表結構的map,應該以存入的順序進行展現纔對.

  緣由:

    <#list itemMap?keys as key> 中,list標記戶對全部的key進行一個默認的排序,因此順序與後臺傳過來的不同

  解決辦法目前有兩種(之後發現了再添加上來):

  (1). [推薦] 後臺傳過來的LinkedHashMap換成LinkedList,存儲鍵值對的方式也要變,若是須要在頁面展現key的話,而且前端展現用一下代碼

    後臺:

         List<Map<String,Object>> itemList= new LinkedList<Map<String,Object>>();

      .......  // put數據進入itemMap中

      print: [{key:2,name:"king"},{key:1,name:"arise"}]

    前端模板文件:

    <#list itemList as item>

      key: ${item.key}---- value: ${item.name} <br />

    </#list>

    展現效果爲:

    key: 1 ----- value: arise

    key: 2 ----- value: king

  (2). 後臺傳一個itemMap以及一個itemMap的全部鍵組成的list到ftl文件中,而後頁面遍歷由鍵組成的list,並在經過鍵獲得itemMap中的value

相關文章
相關標籤/搜索