У меня проблема, и мне нужны ваши помощь !!! Я хочу получить выбранное значение p: selectOneListbox, когда я нажимаю на дерево, но значение всегда равно нулю, хотя я сначала нажал на p: selectOneListbox. Вот мой код XHTML:Как получить другое значение компонента из p: ajax listener, когда я нажимаю на p: tree
<h:form>
<p:selectOneListbox id="selectRole"
value="#{grandUseAuthoritiesBean.selectedRoleId}"
filter="true" filterMatchMode="contains">
<f:selectItems value="#{grandUseAuthoritiesBean.roleList}"
var="role" itemLabel="#{role.code}" itemValue="#{role.roleId}" />
</p:selectOneListbox>
<p:tree value="#{grandUseAuthoritiesBean.root}"
selectionMode="single" var="node"
style="font-size:13px; width:100%;border-width:0">
<p:treeNode icon="ui-icon-calculator">
<h:outputText value="#{node}" />
</p:treeNode>
<p:ajax event="select" update="@([id$=privilegeChecbox])"
listener="#{grandUseAuthoritiesBean.onNodeSelect()}">
</p:ajax>
</p:tree>
</h:form>
и вот код моего МЕНЕДЖЕР бина:
public String selectedRoleId;
public String getSelectedRoleId() {
return selectedRoleId;
}
public void setSelectedRoleId(String selectedRoleId) {
this.selectedRoleId = selectedRoleId;
}
public void onNodeSelect(NodeSelectEvent event) {
if (selectedRoleId!=null)
System.out.println("selected Role Id: "+ this.selectedRoleId);
}
Я не могу напечатать переменную «selectedRoleId» сог она равна нулю, но если я использую button'method для вызова этой переменной я могу получить ее значение. Что мне делать? Спасибо, что прочитал мой вопрос!