2015-09-07 2 views
0

У меня проблема, и мне нужны ваши помощь !!! Я хочу получить выбранное значение 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 для вызова этой переменной я могу получить ее значение. Что мне делать? Спасибо, что прочитал мой вопрос!

ответ

1

Дело в том, что вы выбираете что-то из списка, которое не видно внутри бэк-файла, пока вы не отправите форму или не выполните частичную отправку, поэтому отсюда будет и нулевое значение. Добавить частичную обработку <p:selectOneListbox> и проверьте еще раз:

<p:ajax process="@this" partialSubmit="true" />

Также подобную тему: https://stackoverflow.com/a/14988129/3803447

Смежные вопросы