1
我移植了一塊遺留代碼,看起來像這樣:如何用ui迭代子列表:repeat?
<c:forEach items="#{sel}" var="crit" end="12">
<tr>
<td class="criteriaName">
<c:set var="tip" value="#{Factory.makeTooltip(crit.string)}" />
<c:if test="#{0 != fn:length(tip)}">
<a:outputPanel layout="block">
<h:outputText value="#{crit.kriterium}" styleClass="tooltipAvailable"/>
<rich:tooltip layout="block">
<h:outputText escape="false" value="#{tip}" />
</rich:tooltip>
</a:outputPanel>
</c:if>
<c:if test="#{0 == fn:length(tip)}">
<h:outputText value="#{crit.kriterium}" />
</c:if>
</td>
</tr>
</c:forEach>
現在我尋找替代<c:if>
和<c:forEach>
他們<ui:fragment>
和<ui:repeat>
同行。問題是,我需要遍歷sel
兩次:一次從0到12,然後從13到最後。
我還沒有找到一種方法來分割列表迭代的foreach標籤end
屬性的方式做它。我真的很想避免在後端分割這個列表,因爲這是一個純視圖問題,應該在那裏處理。
所以問題是:我可以用我指定的方式替換上述片段嗎?有什麼選擇?
這麼簡單,如此有效:-) – mabi 2013-04-08 11:09:30
第一個陳述是不正確的和誤導。這根本不是JSF 2.x特性。這是一個EL 2.2功能。 JSF 2.x可以部署到根本不支持此功能的Servlet 2.5/EL 2.1容器。另一方面,JSF 1.x可以部署到支持此功能的Servlet 3.0/EL 2.2容器。另見:http://stackoverflow.com/questions/14382466/jsf-actionlistener-tag-calls-method-which-doesnt-take-an-actionevent-paramete/14382966#14382966 – BalusC 2013-04-08 15:06:59
@BalusC的確你是對的。我在印象之下JSF2'需要'EL2.2,但顯然這是不正確的。我編輯了這篇文章。謝謝! – 2013-04-09 08:08:02