2

我想在ajax事件ui:composition上延迟渲染一个 xhtml 文件。

新的ui:composition需要在面板或 div 内呈现。

在rails中我这样做

render :partial => "file", :layout => :none

编辑

还有一种方法可以将本地人传递到rails中的部分视图

    render :partial => "file", :layout => :none, :locals => {:some_object => @some_object}

我如何将对象发送到此以呈现视图

我在我的 xhtml 中使用以下代码:

<p:commandButton id="selectButton" value="Add" title="Add User" type="submit"
                                 action="#{userBean.add}">
  <f:ajax render=":userLanding:addPanel"/>                     
</p:commandButton>

在我的 ManagedBean 里面我有

public String add()
{
   return "user"; // i need to open user.xhtml page.
}

<div id="addPanel">或者更好<p:panelGroup layout="block" id="addPanel">

userBean#add()负责渲染 abc.xhtml,需要在我的 ui 容器中渲染。

目前它重定向到页面(abc.xhtml)而不是在目标面板/div内呈现。

进行这种视图加载的 JSF 方式是什么?

编辑2:

我也试过:

<h:panelGroup>
    <ui:include src = "user.jsf"
</h:panelGroup>

但条件是:ui 包含应该仅在按钮单击事件上,并且 src 文件将显示在面板内(无导航)。

4

1 回答 1

0

PrimeFaces组件<f:ajax>不支持。<p:xxx>您应该<p:ajax>改用,或者在这种特殊情况下,只使用 PrimeFacesUICommand组件自己的update属性。

<p:commandButton ... update=":userLanding:addPanel" />

你只需要确保 action 方法返回nullor void,否则导航仍然会发生。

于 2012-10-04T15:05:47.983 回答