0

由于非常动态的需求,需要在支持 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=""/>

也尝试了这个的要点,但它是一样的。

http://www.wobblycogs.co.uk/index.php/computing/jee/71-programatically-adding-ajax-actions-to-uicomponents

使用 JSF-2、Tomcat 7、Servlet 3.0 Mojarra 2.1.9

感谢帮助

干杯

4

0 回答 0