2
JSF에서 HtmlDataTable
을 백업 빈에 바인딩하고 행 데이터를 가져올 수 있습니다. 그러나 ui:repeat
에는 바인딩 속성조차 없습니다. 그렇다면 어떤 행 (요소)을 클릭했는지 어떻게 알 수 있습니까? ui:repeat
?ui : repeat에서 클릭 한 요소를 어떻게 알 수 있습니까?
JSF에서 HtmlDataTable
을 백업 빈에 바인딩하고 행 데이터를 가져올 수 있습니다. 그러나 ui:repeat
에는 바인딩 속성조차 없습니다. 그렇다면 어떤 행 (요소)을 클릭했는지 어떻게 알 수 있습니까? ui:repeat
?ui : repeat에서 클릭 한 요소를 어떻게 알 수 있습니까?
어느 반복 된 항목
<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);
}
아니면 그냥 넣어 액션 메소드와 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>
, 같은 items
이 보존되어 있는지 확인해야합니다 사용 후속 요청에서.
두 방법으로도 모두 h:dataTable
에서 작동합니다.