Mule 解析模板多元素
Mule Parse Template Multiple elements
我有一组订单,想要生成包含订单的 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>
这就是我想要完成的。我如何使用解析模板实现这一点?
使用 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;
]
您可以使用 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>'
我有一组订单,想要生成包含订单的 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>
这就是我想要完成的。我如何使用解析模板实现这一点?
使用 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;
]
您可以使用 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>'