非常に動的な要件のため、バッキング 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=""/>
これの要点も試してみましたが、同じでした。
JSF-2、Tomcat 7、Servlet 3.0 Mojarra 2.1.9 の使用
助けてくれてありがとう
乾杯