我们正在从jsf 1.2升级到jsf 2。 我们正在使用apache myfaces 2.1和富面4.3。
我们有如下配置的onload-phase侦听器(对于JSF 1.2)
web.xml:
<context-param>
<param-name>onload-config</param-name>
<param-value>/WEB-INF/onload-config.xml</param-value>
</context-param>
和faces-config.xml中配置的相应监听器:
<lifecycle>
<phase-listener>net.sf.jsfcomp.ext.onload.OnLoadPhaseListener</phase-listener>
<lifecycle>
我们正在使用与迁移到JSF 2相同的配置,因为我知道我们不需要包含任何额外的jar来为上面的设置工作。 (jsf实现和commons-logging jar是唯一的先决条件)
但是当点击一个url时,它将调用onload-config.xml中的配置操作方法,如下所示:
<navigation-rule>
<view-id>/from-page.xhtml</view-id>
<action>#{bean.action}</action>
</navigation-rule>
未调用bean.action且返回资源未找到错误。
我错过了任何配置吗?或者我需要添加任何额外的库? 请帮忙。
编辑1: 添加问题的更多详细信息:
返回bean.action方法后呈现的页面如下:
<ui:composition>
<a4j:form id="sample-Form">
<ui:include src="#{bean.panel}">
</ui:include>
<h:commandButton id="button1" value="Go" action="#{bean.next}"/>
</a4j:form>
</ui:composition>
在单击下一个按钮的同时,使用从后端返回的动态面板名称(bean.panel)呈现相同的页面