当我点击 p:tree 时如何从 p:ajax 侦听器获取其他组件值
How to get other component value from p:ajax listener when I click on p:tree
我有一个问题,我需要你的帮助!!!当我点击一棵树时,我想获得 p:selectOneListbox 的选定值,但该值始终为空,即使我首先点击了 p:selectOneListbox。这是我的 xhtml 代码:
<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>
这是我的管理 bean 的代码:
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" 因为它是 null 但如果我使用按钮方法调用此变量,我可以获得它的值。我应该怎么办?感谢阅读我的问题!
问题是,当您从列表框中选择某些内容时,在您发送表单或进行部分发送之前,它在支持 bean 中是不可见的,因此值为空。对<p:selectOneListbox>
添加部分处理并再次检查:
<p:ajax process="@this" partialSubmit="true" />
还有类似的话题:
我有一个问题,我需要你的帮助!!!当我点击一棵树时,我想获得 p:selectOneListbox 的选定值,但该值始终为空,即使我首先点击了 p:selectOneListbox。这是我的 xhtml 代码:
<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>
这是我的管理 bean 的代码:
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" 因为它是 null 但如果我使用按钮方法调用此变量,我可以获得它的值。我应该怎么办?感谢阅读我的问题!
问题是,当您从列表框中选择某些内容时,在您发送表单或进行部分发送之前,它在支持 bean 中是不可见的,因此值为空。对<p:selectOneListbox>
添加部分处理并再次检查:
<p:ajax process="@this" partialSubmit="true" />
还有类似的话题: