1

我有一个 html 文件的打印导出,它从 Map 中导入,如下所示

Template t = TemplateLoader.load("Printing/acount.html");
Map<String, Object> map = new HashMap<String, Object>();
map.put("accountName ", e.accountName);
map.put("accountAmount ", acAmount);
    return t.render(map);

并将参数加载到 html 文件中

<div>
     Account: <font size="3"><b>${ accountName }</b> ${accountAmount}</font> <br/>

它的出口看起来像

账户 15884 5.000

如果我想在我的导出中有多个记录怎么办?

让我们说

账户 15885 2.000

账户 15886 4.000

账户 15887 3.000

第二种情况下的html和java代码应该如何传递未知数量的记录?

4

3 回答 3

1

如果你有列表,你可以做

map.put("accounts", theAccountList);

在模板(我假设是 FreeMarker)中,您可以:

<#list accounts as account>
 <div>Account: <font size="3"><b>${account.getName()}</b> ${account.getAmount()}</font> <br/></div>
</#list>  
于 2012-06-12T14:35:18.703 回答
0

您现在正在创建一个和Map的值。您应该做的是添加一个对象列表,每个对象都包含和的值。accountNameaccountAmountaccountNameaccountAmount

它看起来像这样:

Map<String, Object> map = new HashMap<String, Object>();
List<Account> accounts = new ArrayList<Account>();
map.put("accounts", accounts);
return t.render(map);

然后,在您的模板中,您可以遍历 in 中的项目${ accounts }(例如,for each accountin )并打印andaccounts的每个值。account.nameaccount.amount

我不熟悉这些模板的确切语法,但方法应该遵循这些原则。

于 2012-06-12T14:34:40.577 回答
0

使用列表和 for 循环。查找 JSP 或 JSTL for 循环。

于 2012-06-12T14:35:36.190 回答