Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java struts2复选框列表以显示对齐的标签_Java_Jsp_Struts2_Jstl - Fatal编程技术网

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>