[jboss-user] [JBoss Seam] - tags c:forEach and ui:repeat
denis.zjukow
do-not-reply at jboss.com
Mon Sep 17 10:33:55 EDT 2007
Hello,
Having struggled for a couple of days I finally gave up and decided to ask for help.
I use Seam with Facelets. What I want is to show a list of entities in a table cell i.e a single cell may contain a comma-separted list.
Let's say I have two entity types: Item and Subitem. An instance of type Item may have a number of Subitems. In my case the relation between these two entity types is many-to-many.
So if I have Item1 with three subitems: Subitem1, Subitem2 and Subitem3, I want to see something like this:
| <table>
|
| ...
|
| <tr>
|
| ...
|
| <td>Subitem1,SubItem2,Subitem3</td>
|
| ...
|
| </tr>
|
| ...
|
| </table>
|
Please note that I don't want a comma after the last subitem in a cell (Subitem3 in this case). Nothing special, an obvious requierment, isn't it?
The first thing I tried was ui:repeat:
| <!-- Table, each row represents an item. -->
| <h ataTable value="items" var="item">
|
| ...
|
| <!-- This is my tricky column. -->
| <h:column>
|
| <!-- I want to see all subitems in a single cell. -->
| <ui:repeat value="#{item.subitems}" var="subitem">
|
| <!-- Show a subitem. -->
| <h utputText value="#{item.subItems}" />
|
| <!-- Add separator. -->
| <h utputText value="," />
|
| </ui:repeat>
| <h:column>
|
| ...
|
| </h ataTable>
|
Everything's fine except for the fact that there is a nasty comma after the last subitem. This made me try c:forEach tag:
| ...
|
| <!-- I want to see all subitems in a single cell. -->
| <c:forEach items="#{item.subitems}" var="subitem" varStatus="stat">
|
| <!-- Show a subitem. -->
| <h utputText value="#{item.subItems}" />
|
| <!-- Add separator for each subitem except for the last one. -->
| <c:if test="#{!stat.last}">
| <h utputText value="," />
| </c:if>
|
| </ui:repeat>
|
| ...
|
Unfortunately this code won't work! It just leaves my favorite column empty. It seams that c:forEach do not see variable item.
I then tried to find a way to add the conditional logic to ui:repeat, but haven't managed to find anything like c:forEach's 'varStatus'.
Any ideas? Thank you all in advance!
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4085083#4085083
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4085083
More information about the jboss-user
mailing list