Java 侦听器不会因为@Named annoated Bean而被解雇
我正在使用with来启动对支持bean的ajax调用。但是支持bean中的侦听器方法永远不会在其onchange事件上调用。渲染属性工作正常。我还可以确认javascript中没有错误,所有js文件都已正确导入faceltes页面。下面是示例代码Java 侦听器不会因为@Named annoated Bean而被解雇,java,ajax,jsf,jsf-2,cdi,Java,Ajax,Jsf,Jsf 2,Cdi,我正在使用with来启动对支持bean的ajax调用。但是支持bean中的侦听器方法永远不会在其onchange事件上调用。渲染属性工作正常。我还可以确认javascript中没有错误,所有js文件都已正确导入faceltes页面。下面是示例代码 <h:selectOneMenu id="institution" value="#{treeBean.selectedInstitutionType}" style="width :140px;"> <f:selec
<h:selectOneMenu id="institution" value="#{treeBean.selectedInstitutionType}"
style="width :140px;">
<f:selectItems value="#{treeBean.institutionTypeList}" var="institutionTypeList"
itemLabel="#{institutionTypeList.type}"
itemValue="#{institutionTypeList.id}" />
<f:ajax event="change" listener="#{treeBean.selectInstitutionType}" render="text selectedInstitutionId" />
</h:selectOneMenu>
名为selectInstitutionType的方法也出现在树bean中。TreeBean类已使用@Named注释和javax.enterprise.context.RequestScope@RequestScope注释进行注释。我正在Tomcat7容器上使用JSf2 mojarra实现。您是否暗示它与JSF@ManagedBean一起工作?您是如何在Tomcat上安装CDI的?它不支持开箱即用的CDI。是的..CDI使用SEAM Weld实现与Tomcat一起工作,我为Bean类使用了@Named注释,并在facelets上访问了它的属性。我所面临的唯一问题是侦听器没有被激活,您还没有确认它是否可以与JSF@ManagedBean一起使用,但您间接地暗示了这一点。请明确确认它与@ManagedBean一起工作。只有这样,我们才能判断问题是在CDI配置中还是在Facelet标记中。这正是@ManagedBean的工作原理。我之前检查过了..很抱歉评论错误。当您切换到@ManagedBean时,是否也更改为JSF的请求范围?