我在 JSF 2.0 中遇到了与 Ajax 相关的问题
我们在同一个 EAR 中有 2 个 Web 项目 (WAR)。第一个项目在 faces-config.xml 中有以下内容
<factory>
<faces-context-factory>
com.ibm.faces.context.AjaxFacesContextFactory
</faces-context-factory>
<render-kit-factory>
com.ibm.faces.renderkit.AjaxRenderKitFactory
</render-kit-factory>
</factory>
出于某种原因,com.ibm.faces.renderkit.AjaxRenderKitFactory正在阻止其他 Web 项目中的 ajax,如果我删除了此部分,则 ajax 可以正常工作。
我的意思是这里的 Ajax,渲染
<h:form>
<h:selectOneMenu value="#{myBean.selected}">
<f:selectItem itemValue="#{null}" itemLabel="ABC" />
<f:selectItem itemValue="one" />
<f:selectItem itemValue="two" />
<f:selectItem itemValue="three" />
<f:ajax listener="#{myBean.listener}" render="result" />
</h:selectOneMenu>
<h:outputText id="result" value="#{myBean.selected} #{myBean.result}" />
但以下工作正常
<h:commandButton value="commandButton" action="#{myBean.submit}">
<f:ajax listener="#{myBean.listener}" render="result" />
</h:commandButton>
<h:outputText id="result" value="#{myBean.selected} #{myBean.result}" />
我的 faces-config 中没有这个com.ibm.faces.renderkit.AjaxRenderKitFactory那么为什么它会影响我的项目中的 Ajax?