2
我有一个xhtml视图通过一个prettyfaces请求呈现。我碰到一个问题,其中来自蛮脸的Action映射被执行两次,但只有当我有一个ui:include标记时。这个例子相当的配置是这样的:PrettyFaces和JSF UI:包括导致操作方法被调用两次
<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阶段的相同目标?或者这是一个相当特殊的问题?
我是PrettyFaces的开发者之一。我认为这可能是PrettyFaces中的错误或您正在使用的JSF实现中的错误。您应该将此问题发布到PrettyFaces论坛。我们可以在那里详细讨论这个问题。 http://ocpsoft.com/support/forum/prettyfaces-users – chkal 2012-02-11 10:40:54
你的'init'方法用'@ PostConstruct'注解了吗? – rbento 2012-10-29 19:58:30