我正在使用Primefaces 3.3.1并且有一个<p:selectOneMenu>
,我正在选择一个新值。当选择一个新值时,正在处理值的地方调用valueChangeListener方法。就像这样:<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
它作品!该方法被称为某种方式,并正在处理新的价值! 有没有人有过同样奇怪的并发症?
感谢BalusC为您详细的答复。我得到了我需要的东西:) – ClydeFrog 2012-07-27 13:49:30
不客气。 – BalusC 2012-07-27 13:50:19