由于非常动态的需求,需要在支持 bean 中创建一个表。我已经成功地做到了。
这就是我尝试将 Ajax 添加到我的 inputText 的方式:
HtmlInputText inputText = new HtmlInputText();
// add value and other ValueExpressions
AjaxBehavior ajaxBehavior = new AjaxBehavior();
ajaxBehavior.addAjaxBehaviorListener( new AjaxBehaviorListenerImpl());
inputText.addClientBehavior("focus", ajaxBehavior);
column.getChildren().add(inputText);
我的监听器实现:
public class AjaxBehaviorListenerImpl implements AjaxBehaviorListener {
public void processAjaxBehavior(AjaxBehaviorEvent event) throws AbortProcessingException {
System.out.println("It works");
}
}
我遇到的问题是没有触发 ajax 事件。古老的“什么都没有发生”。我尝试使用“onfocus”代替,结果相同,还尝试了其他事件,如模糊。
当我调试源时,它看起来不包括在内:
<HtmlInputText disabled="false" id="j_id1" immediate="false" inView="true" localValueSet="false" maxlength="-2147483648" readonly="false" rendered="true" required="false" size="-2147483648" transient="false" valid="true" value=""/>
也尝试了这个的要点,但它是一样的。
使用 JSF-2、Tomcat 7、Servlet 3.0 Mojarra 2.1.9
感谢帮助
干杯