私は Primefaces 3.3.1 を使用しており<p:selectOneMenu>
、新しい値を選択している場所があります。新しい値を選択すると、値が処理されている場所で valueChangeListener メソッドが呼び出されます。このような:
<h:form>
<p:selectOneMenu id="signature-menu" value="#{objectBuffertBean.loggedInSignature}" effect="fold" style="width: 125px;">
<p:ajax event="change" update="signature-menu"
listener="#{loginBean.changeSignature()}" />
<f:selectItems value="#{signaturesBean.signatures}" />
</p:selectOneMenu>
</h:form>
LoginBean.java:
public void changeSignature(ValueChangeEvent e) {
if (e.getNewValue() != null) {
try {
WebDB db = new WebDB();
SessionHandler.getInstance().
getCurrentObjectBuffert().setSignature(
db.getSignatureBySignatureFromWebDb(
(String) e.getNewValue()
));
} catch (DatabaseException e1) {
e1.printStackTrace();
}
}
}
しかし、奇妙なことに、新しい値を選択すると、次の例外が発生します。
javax.el.MethodNotFoundException: Method changeSignature not found
そしてそれはうまくいきます!メソッドが何らかの形で呼び出され、新しい値が処理されています!! 同じ奇妙な合併症を持っている人はいますか?