Это просто и отлично работает для меня, так как сообщение, которое я выбираю в первом столбце, обновляет параметры во втором столбце, и это делается через ajax. Но опять же, я все еще учусь, и многие из моих знаний о jsf взяты из материала из блога @BalusC :), так что, если у этого подхода есть некоторые недостатки, пожалуйста, дайте мне знать.
я есть таблица с 2 компонентами selectOneMenu.
Мне бы хотелось, чтобы после того, как в первом компоненте selectOneMenu была выбрана запись, она обновит другой файл selectOneMenu с помощью Ajax в той же строке.
Мой стол:
<p:dataTable value="#{myBean.myInfo}" var="myInfo">
<p:column>
<f:facet name="header">Group</f:facet>
<h:selectOneMenu value="#{myInfo.myInfoType.code}">
<f:selectItems value="#{myBean.myList}" />
<f:ajax event="change" execute="@this" listener="#{myBean.refershNames}" render="myNames"/>
</h:selectOneMenu>
</p:column>
<p:column>
<f:facet name="header">Name</f:facet>
<h:selectOneMenu id="myNames" value="#{myInfo.myInfoType.secondCode}">
<f:selectItems value="#{myBean.mySecondList}" />
</h:selectOneMenu>
</p:column>
<p:dataTable>
В бобе у меня есть:
List<SelectItem> myList,mySecondList;
public void refershNames(AjaxBehaviorEvent event){
//how can I retrieve the selected item and update the relevant record?
}
Как я могу сделать это с Ajax? Я использую JSF2