【问题标题】:Mule Parse Template Multiple elementsMule Parse 模板多个元素
【发布时间】:2020-02-20 18:03:01
【问题描述】:

我有一组订单,想用订单生成一个 html 文档,我想为此使用解析模板,但我不知道这将如何处理有效负载中的多个订单项。我想生成这样的东西:

     <html>
      <body>
            <table border=4>
            <tr>
                    <th>Order No</th>
                    <th>Order Description</th>
                    <th>Provisioning Date</th>  
            </tr>
            <tr>
                  <td>#[payload[0]['order_no']]</td>
                  <td>#[payload[0]['order_description']]</td>
                  <td>#[payload[0]['provisioning_date']]</td>
            </tr>
             <tr>
                  <td>#[payload[1]['order_no']]</td>
                  <td>#[payload[1]['order_description']]</td>
                  <td>#[payload[1]['provisioning_date']]</td>
            </tr>
               ...... to n orders
            </table>
    </body>
 </html>

这就是我想要完成的。如何使用 parse-template 实现这一点?

【问题讨论】:

    标签: html mule-component mule-el


    【解决方案1】:

    使用 MEL(Mule 表达式语言),您可以遍历每个订单并构造所需的 html 和动态值。

    #[       
        String orders = "";
        for(int i = 0; i < payload.size(); i++) {
            orders += "<tr>";
            orders += "<td>" + payload[i]['order_no'] + "</td>";
            orders += "<td>" + payload[i]['order_description'] + "</td>";
            orders += "<td>" + payload[i]['provisioning_date'] + "</td>";
            orders += "</tr>"
        }
        return orders;
    ]
    

    【讨论】:

    • 这个动态部分可以成为模板的一部分吗?
    • 是的,把它放在你的模板文件的标题行之后。
    【解决方案2】:

    您可以在解析模板中使用 javascript 进行循环:

    var addressList = #[payload]
    for (var i = 0; i < payload.length; i++)
        document.getElementById('table').innerHTML += '<tr><td>' + addressList 
        [i].order_no + '</td><td>' + addressList [i].order_description + '</td> 
        <td>' + addressList[i].provisioning_date + '</td></tr>'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-04
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多