1. 程式人生 > >c標籤遍歷取map中list集合中的物件屬性值

c標籤遍歷取map中list集合中的物件屬性值

今天寫批量列印功能時,後臺傳到前端的資料是map集合,以前沒用過,取值時出現了問題,在這裡記錄一下,備忘和複習時看:

1.前端主要部分如下:

<body>
<c:forEach var="fee" items="${map[\"EtImportFees\"]}"> <!-- c標籤取map中list集合中的值時,在items屬性中通過key獲得,但是要轉義 -->
   <p>第  ${fee.print_count} 次列印&nbsp;&nbsp;;&nbsp;&nbsp;列印日期:<%=time%></p>
   <table border="2" class="layui-table" style="width:100%;"
         lay-skin="primary" id="detail">
      <thead>
      <tr>
         <th style="text-align: center;font-weight:bold;" colspan="6">成本報銷憑證</th>
      </tr>
      </thead>
      <tbody>
      <tr>
         <td rowspan="9">明細</td>
         <td style="border-style: none;">進口編號:</td>
         <td colspan="4" style="border-style: none;">${map["EtImport"].import_no}</td><!-- 這裡不需要轉義即可 -->
      </tr>
      <tr>
         <td style="border-style: none;">檔案編號:</td>
         <td colspan="4" style="border-style: none;">${map["EtImport"].file_no}</td>
      </tr>
      <tr>
         <td style="border-style: none;">委&nbsp;&nbsp;託&nbsp;&nbsp;方:</td>
         <td colspan="4" style="border-style: none;">${map["EtImport"].baile}</td>
      </tr>
      <tr>
         <td style="border-style: none;">費用名稱:</td>
         <td colspan="4" style="border-style: none;">${fee.f_name}"</td>
      </tr>
      <tr>
         <td style="border-style: none;">費用金額:</td>
         <td colspan="4" style="border-style: none;">${fee.f_money}</td>
      </tr>
      <c:if test="${fee.f_type == 0}">
         <tr>
            <td style="border-style: none;">付&nbsp;&nbsp;款&nbsp;&nbsp;方:</td>
            <td colspan="4" style="border-style: none;">${fee.payer}</td>
         </tr>
         <tr>
            <td style="border-style: none;">銀行名稱:</td>
            <td colspan="4" style="border-style: none;">${fee.payer_bank}</td>
         </tr>
         <tr>
            <td style="border-style: none;">銀行帳號:</td>
            <td colspan="4" style="border-style: none;">${fee.payer_cardid}</td>
         </tr>
      </c:if>
      <c:if test="${fee.f_type == 1}">
         <tr>
            <td style="border-style: none;">收&nbsp;&nbsp;款&nbsp;&nbsp;方:</td>
            <td colspan="4" style="border-style: none;">${fee.payee}</td>
         </tr>
         <tr>
            <td style="border-style: none;">銀行名稱:</td>
            <td colspan="4" style="border-style: none;">${fee.payee_bank}</td>
         </tr>
         <tr>
            <td style="border-style: none;">銀行帳號:</td>
            <td colspan="4" style="border-style: none;">${fee.payee_cardid}</td>
         </tr>
      </c:if>
      <tr>
         <td style="border-style: none;">費用備註:</td>
         <td colspan="4" style="border-style: none;">${fee.remark}</td>
      </tr>
      <tr>
         <td style="width:16.66%;">報銷人</td>
         <td style="width:16.66%;"></td>
         <td style="width:16.66%;">日期</td>
         <td style="width:16.66%;">${fee.f_time}</td>
         <td style="width:16.66%;">經理簽字</td>
         <td style="width:16.7%;"></td>
      </tr>
      </tbody>
   </table>
</c:forEach>
<script type="text/javascript">
    $(document).ready(function(){
        window.print();
    })
</script>

</body>

2.後臺資料如下(宣告這不符合json格式,只是這樣看著清晰):

data {

         "EtImportFees": [{

                   "id": 4,

                   "f_name": "上海旅遊",

                   "f_type": 0,

                   "m_type": 0,

                   "f_money": 0,

                   "f_class": 0,

                   "f_advance_money": 0,

                   "f_time": "2018-09-21",

                   "payer": "",

                   "payer_bank": "",

                   "payer_cardid": "",

                   "payee": "",

                   "payee_bank": "",

                   "payee_cardid": "",

                   "remark": "",

                   "print_count": 8,

                   "f_state": 1,

                   "f_bill_no": null

         }, {

                   "id": 7,

                   "f_name": "請客",

                   "f_type": 1,

                   "m_type": 0,

                   "f_money": 1000,

                   "f_class": 1,

                   "f_advance_money": 200,

                   "f_time": "2018-09-18",

                   "payer": "我dedede",

                   "payer_bank": "農業",

                   "payer_cardid": "123456789",

                   "payee": "你",

                   "payee_bank": "建設",

                   "payee_cardid": "456789321",

                   "remark": "已付",

                   "print_count": 5,

                   "f_state": 1,

                   "f_bill_no": null

         }],

         "EtImport": {

                   "id": 1,

                   "import_no": "YZCC",

                   "baile": "聯泰",

                   "goods_name": "app",

                   "file_no": "yzcc",

                   "declaration_money": 1000,

                   "advance_money": 250,

                   "contract_no": "yz_cc",

                   "import_time": "2018-09-14",

                   "end_time": "2018-09-15",

                   "remittance_money": 3000,

                   "gain": -5120,

                   "end_is": 1,

                   "import_is": 1

         }

}

3.效果圖如下: