如何在没有`<t:datatable>`或`<t:datalist>`</t:datalist> </t:datatable>的情况下迭代jsf中的arraylist

时间:2011-12-10 14:43:24

标签: jsf jsf-1.2

如何使用

在JSF中获得以下结果
<div id="tagcloud">
    <a href="#" rel="0.1">Lorem</a>
    <a href="#" rel="2">ipsum</a>
    <a href="#" rel="3">dolor</a>
    <a href="#" rel="4">sit</a>
    <a href="#" rel="5">amet,</a>
    <a href="#" rel="6">consectetur</a>
    <a href="#" rel="7">adipisicing</a>
</div>

我尝试了<t:datatable><t:datalist>,但两人都无法做到。

2 个答案:

答案 0 :(得分:4)

假设您使用Facelets,则应执行以下操作:

<div id="tagcloud">
    <t:dataList value="#{backingBean.items}" var="item" layout="simple">
        <a href="#" rel="#{item.rel}">#{item.name}</a>
    </t:dataList>
</div>

如果您正在使用JSP(希望不是),则可以使用h:outputText替换#{item.name}。

示例中的

backingBean.items指向一些返回List的支持bean,其中每行的值都不同。

答案 1 :(得分:4)

为什么不使用jstl

<c:forEach var="person" items="${people.people}">
        <tr>
          <td>${person.name}</td>
          <td>${person.age}</td>
          <td>${person.height}</td>
        </tr>
      </c:forEach>

<ui:repeat value="#{TableBean.perInfoAll}" var="info">
   <li> 
  <h:inputText value="#{info.id}" />
  <h:inputText value="#{info.name}" />
   </li> 
  </ui:repeat>