Java struts2复选框列表以显示对齐的标签
我有一张帐单清单Java struts2复选框列表以显示对齐的标签,java,jsp,struts2,jstl,Java,Jsp,Struts2,Jstl,我有一张帐单清单Bill是一个具有id、金额、日期、billDescription的bean。 我想显示Bill对象的复选框列表。因此,我使用: <s:checkboxlist list="bills" name="selectedBills" listKey="id" listValue="displayLabel"/> 问题是它没有对齐。我想自定义我的显示标签,以便金额对齐、日期对齐和账单描述对齐。它应显示为: [ ] 40.00 5/1/2011 E
Bill
是一个具有id、金额、日期、billDescription的bean。
我想显示Bill
对象的复选框列表。因此,我使用:
<s:checkboxlist list="bills" name="selectedBills"
listKey="id" listValue="displayLabel"/>
问题是它没有对齐。我想自定义我的显示标签,以便金额对齐、日期对齐和账单描述对齐。它应显示为:
[ ] 40.00 5/1/2011 Electric Bill
[ ] 1005.26 6/12/2012 Gas Bill
在每个前面都有一个复选框。基本上,我想生成以下代码:
<table>
<tr>
<td><input type="checkbox" name="selectedBills" value="9" id="selectedBills-1"/></td>
<td style="text-align: right">40.00</td>
<td>5/1/2011</td>
<td>Electric Bill</td>
</tr>
<tr>
<td><input type="checkbox" name="selectedBills" value="9" id="selectedBills-2"/></td>
<td style="text-align: right">1005.26</td>
<td>6/12/2012</td>
<td>Gas Bill</td>
</tr>
</table>
40
5/1/2011
电费单
1005.26
6/12/2012
煤气单
我该怎么做?第一列应该有复选框,但最后三列是标签的三个不同部分。我尝试将
代码放入我的账单中。getDisplayLabel()
但是struts将其转义,这样实际的
标记就会显示出来
如有任何意见,将不胜感激
更新:我已经知道如何通过自定义freemarker模板垂直显示复选框 如何使用?我没有正确测试这段代码。但我希望它能给你一些想法:
<table>
<s:iterator value="bills" var="bill">
<tr>
<td><input type="checkbox" name="selectedBills" value="${bill.id}" id="selectedBills-2"/></td>
<td style="text-align: right">${bill.amount}</td>
<td>${bill.date}</td>
<td>${bill.description}/td>
</tr>
</s:iterator>
</table>
${bill.amount}
${bill.date}
${bill.description}/td>
这就是我最后使用的:
<s:iterator value="bills" var="bill" status="rowstatus">
<tr>
<td>
<input type="checkbox" name="selectedBills" value="${bill.id}"
id="selectedBills-${rowstatus.index}" />
</td>
<td style="text-align: right">${bill.amount}</td>
<td >${bill.serviceDate}</td>
<td>${bill.label}</td>
</tr>
</s:iterator>
${bill.amount}
${bill.serviceDate}
${bill.label}
这是有效的。问题是,如果JSP上的其他字段没有通过验证,那么这将不起作用。我必须在
的末尾添加额外的jstl以使checked=“checked”
,所以您实际上想要拆分字符串?这是一个关于如何拆分字符串的冗长问题。:)为什么不将这些值存储在单独的属性中?或者只需在FreeMarker模板中使用split
。测试
和
标签插入
。我认为它可能会起作用。这确实解决了我最初对表格数据本身进行显示渲染的问题。如果出现错误,我必须在保留原始值(复选框)的情况下重新显示表单,那么问题就会出现。我必须自己在JSP中设置它们。谢天谢地,我现在不用担心这个。
<s:iterator value="bills" var="bill" status="rowstatus">
<tr>
<td>
<input type="checkbox" name="selectedBills" value="${bill.id}"
id="selectedBills-${rowstatus.index}" />
</td>
<td style="text-align: right">${bill.amount}</td>
<td >${bill.serviceDate}</td>
<td>${bill.label}</td>
</tr>
</s:iterator>