2
在JSF中,我們可以將HtmlDataTable
綁定到支持bean並獲取行數據。但ui:repeat
甚至沒有綁定屬性。那麼,如何知道ui:repeat
中哪個行(元素)被點擊?我如何知道在ui中點擊哪個元素:重複?
在JSF中,我們可以將HtmlDataTable
綁定到支持bean並獲取行數據。但ui:repeat
甚至沒有綁定屬性。那麼,如何知道ui:repeat
中哪個行(元素)被點擊?我如何知道在ui中點擊哪個元素:重複?
要麼使用f:setPropertyActionListener
<h:form>
<ui:repeat value="#{bean.items}" var="item">
<h:outputText value="#{item.value}">
<h:commandButton value="submit" action="#{bean.submit}">
<f:setPropertyActionListener target="#{bean.item}" value="#{item}"/>
</h:commandButton>
</ui:repeat>
</h:form>
在迭代項目
<h:form>
<ui:repeat value="#{bean.items}" var="item">
<h:outputText value="#{item.value}">
<h:commandButton value="submit" action="#{item.submit}" />
</ui:repeat>
</h:form>
兩種情況
private List<Item> items;
private Item item;
public void submit() {
System.out.println(item);
}
或者只是把操作方法,您需要確保同一items
被保留在隨後的請求。
順便提一下,這兩種方法也適用於h:dataTable
。