0

我有两个 primefaces (p:layoutUnit) 小部件:页面左侧 layoutUnit 中的树和页面中心 layoutUnit 中的 dataArea(待定)。我让树形菜单工作,以便在选择节点时调用适当的 DAO 方法并返回对象。我的麻烦是,该对象返回到页面左侧的树形式。

我的问题是:如何让返回的对象填充在我的页面中心?是否有 JSF 机制来执行此操作?

4

1 回答 1

2

您可以利用<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 中显示的值填充控制器上的实例变量。将更新属性设置为“form2:dataArea”将导致页面将 dataArea 更新为最新状态(并获取您放置在实例变量中的数据)。请注意,“form2:dataArea”只是对您的第二个表单 id 和 dataArea 的 id 标记为的猜测。

于 2012-07-02T19:43:58.497 回答