我有两个素数(p:layoutUnit)小部件:页面左侧布局单元中的树和页面中央布局单元中的dataArea(待定)。 我有树菜单工作,以便在选择节点时调用适当的 DAO 方法并返回对象。 我的问题是,对象返回到页面左侧的树窗体。
我的问题是:如何让返回的对象填充到页面中心? 是否有JSF机制来执行此操作?
您可以利用 <p:tree>
组件的 select 事件发出 ajax 调用,该调用将根据所选节点更新页面的 dataArea:
例如:
<p:tree value="#{treeBean.model}" dynamic="true">
<p:ajax event="select" listener="#{treeBean.onNodeSelect}" update="form2:dataArea"/>
...
</p:tree>
在 onNodeSelect 中,您将使用要在 dataArea 中显示的值填充控制器上的实例变量。将 update 属性设置为 "form2:dataArea" 将导致页面将 dataArea 更新到最新状态(并选取您放置在实例变量中的数据)。请注意,"form2:dataArea"只是对第二个表单ID和dataArea的ID被标记为什么的猜测。