0

非常に動的な要件のため、バッキング Bean にテーブルを作成する必要があります。私はそうして成功しました。

これは、inputText に Ajax を追加しようとした方法です。

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