0
示例页面。 JSF 2 + f:ajax +监听器不叫
<tr:outputText value="#{my.name}" id="name"/>
<tr:commandButton text="Click" action="#{my.doaction}" id="test1">
<f:ajax event="click" listener="#{my.myajax}" render="name"></f:ajax>
</tr:commandButton>
</tr:form>
</ui:define>
</ui:composition>
管理豆...范围请求
@PostConstruct
public void init(){
_name = "default";
}
public void doaction(){
System.out.println("In doaction");
}
public void myajax(AjaxBehaviorEvent ae) throws javax.faces.event.AbortProcessingException{
_name = "Ajax";
}
public void myajax() throws javax.faces.event.AbortProcessingException{
_name = "Ajax";
}
我使用特立尼达按钮。 jsf 2.我的监听器没有被调用。没有一个myajax(AjaxBehaviorEvent ae) myajax() 被调用。但是我的doaction方法正在被调用。 我在想什么。 ?
请大家帮忙。
注意:我的facesconfig在下面。是否指定2.2并使用trinidad 2.0和myfaces 2.0创建此问题?
<faces-config
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"
version="2.2">
<application>
<default-render-kit-id>org.apache.myfaces.trinidad.core</default-render-kit-id>
</application>
</faces-config>
是不是叫*? (设置断点!)还是没有存储的值?取决于trinidads命令按钮的工作方式,它可能会在单击之后简单地导致重新加载,再次调用'init()',导致bean为'RequestScoped',并在第二个请求中覆盖name属性。 – dognose 2014-11-05 18:52:25
我确实在ajax方法中都放了一个断点,其中没有一个是被打的.. – sam 2014-11-05 19:37:11