Glassfish 3.1.2.2 と JSF Mojarra 2.1.6 を使用しています。
次の Facelets ページがあります。
<h:form>
<h:commandLink value="link">
<f:actionListener binding="#{backingBean.someMethod(1)}"/>
</h:commandLink>
</h:form>
そして、次のバッキング Bean:
@RequestScoped
@ManagedBean
public class BackingBean {
public void someMethod(int i) {
System.out.println("It was called: " + i);
}
}
リンクをクリックすると、「Info: It was called: 1」がコンソールに表示されます。
ドキュメントのbinding
読み取り:
ライブラリ: http://xmlns.jcp.org/jsf/core、http://java.sun.com/jsf/core (Jsf コア)
タグ: アクションリスナー
バインディング
javax.faces.event.ActionListener を実装するオブジェクトに評価される値バインディング式。[鉱山を強調]
また、この質問に対する受け入れられた回答ではf:actionListener
、任意のメソッドを呼び出すことはできないと述べています。
サポートされていない場合、バッキング Bean メソッドが呼び出されるのはなぜですか?