我有一个tagx来创建一个头<th>...</th>
的表,基于Spring Roo的table.tagx。
将文字放入头部列很容易,但是当涉及到标题时,我就被卡住了。
这是我目前填补表头的方法:
<spring:eval var="colCounter" expression="0" />
<table id="_table_${id}_id" class="sortable" >
<thead>
<tr>
<c:forTokens items="${columnLabels}" delims="," var="columnHeading">
<th>
<c:out value="${columnHeading}" />
<spring:eval var="colCounter" expression="colCounter + 1" />
</th>
</c:forTokens>
[... some more unimportant code here ...]
</tr>
</thead>
<tbody>
...
</tbody>
</table>
columnLabels
是包含标签的逗号分隔字符串。我生成了另一个名为columnTitles
的字符串,它的构建方式相同。
所以我现在要做的是将每列的标题添加到<th>
标记中,如
<th title="${columnTitle}" >
我可以循环遍历一个数组,colCounter
作为索引,就像这个
<th title="${columnTitles[colCounter]}" >
但这意味着需要更多努力,因为我需要以完全不同的方式创建数组 - 而且,我对tagx / jstl(还)还不是很熟悉。
我仍然希望,有人有解决方案。我会很高兴的!
此致 Stacky
答案 0 :(得分:1)
忘掉两个单独的逗号分隔字符串。
使用List<Heading>
,其中Heading
是包含title
属性和tooltip
属性的bean。
您的JSP代码现在很简单,不需要将逗号分隔的String解析为令牌列表:
<c:forEach items="${headings}" var="heading">
<th title="<c:out value='${heading.tooltip}'/>">
<c:out value="${heading.title}" />
</th>
</c:forEach>
Java是一种OO语言。使用对象。