PrettyFaces和JSF ui:包括使动作方法被调用两次

时间:2012-02-10 20:08:48

标签: jsf-2 prettyfaces

我有一个通过prettyfaces请求呈现的xhtml视图。我遇到了一个问题,其中来自prettyfaces的Action映射正在执行两次,但只有当我有一个ui:include标签时。示例漂亮的配置是这样的:

 <url-mapping id="testRedirector">
      <pattern value="/project/#{lookupBean.projectId}/#{lookupBean.cardNumber}" />
      <view-id value="/lookup.xhtml" />
      <action>#{myController.init}</action>
 </url-mapping>

.xhtml是这样的:

... 

<ui:include src="/header.xhtml">
    <ui:param name="this_tab_class" value="current"/>
</ui:include>

<h:panelGrid columns="4">
...

根据URL的请求,我看到myController.init()上的日志调用正在执行两次。如果我注释掉ui:include,那么init只能被调用一次。我已经在prettyfaces url-mapping元素上尝试了其他jsf阶段监听器,但所有其他枚举类型导致init()永远不会被调用。

我的问题是,如何实现将预定义的header.xhtml或其他预定义组件包含在页面中而不是两次调用RENDER_REDRAW阶段的相同目标?或者这是一个非常具体的问题?

1 个答案:

答案 0 :(得分:1)

这听起来像是一个JSF错误。当你不包括PrettyFaces时会发生这种情况吗?