PrimeFaces InputNumberRenderer 异常
PrimeFaces InputNumberRenderer Exception
我在 Java 代码中使用 PrimeFaces,如下所示:
HtmlForm form = (HtmlForm) event.getComponent();
InputNumber inputNumber = new InputNumber();
inputNumber.setId("input");
form.getChildren().add(inputNumber);
并且出现以下错误:
java.lang.NoSuchMethodError:
org.primefaces.component.inputnumber.InputNumberRenderer.renderAccessibilityAttributes(Ljavax/faces/context/FacesContext;Ljavax/faces/component/UIInput;)V
可能是什么原因造成的?
我就是这样解决问题的。
HtmlForm form = (HtmlForm) event.getComponent();
InputNumber inputNumber = new InputNumber();
inputNumber.setId("input1");
ValueExpression inputNumberValue = ef.createValueExpression(
context.getELContext(), "#{ruleManagedBean.inputNumber}",
Double.class);
inputNumber.setValueExpression("value", inputNumberValue);
form.getChildren().add(inputNumber);
并且在 xhtml 文件中:
<h:form id="form">
<f:event type="postAddToView"
listener="#{ruleManagedBean.populateForm}" />
<pe:blockUI></pe:blockUI>
</h:form>
注意:InputNumber 使用 Primefaces Extension(PE) 4.0 jar。所以我必须包含一个空的 PE 标签(我使用 pe:blockUI)因为它似乎不包含 PE js 文件,除非它至少有一个 PE 标签。
我在 Java 代码中使用 PrimeFaces,如下所示:
HtmlForm form = (HtmlForm) event.getComponent();
InputNumber inputNumber = new InputNumber();
inputNumber.setId("input");
form.getChildren().add(inputNumber);
并且出现以下错误:
java.lang.NoSuchMethodError: org.primefaces.component.inputnumber.InputNumberRenderer.renderAccessibilityAttributes(Ljavax/faces/context/FacesContext;Ljavax/faces/component/UIInput;)V
可能是什么原因造成的?
我就是这样解决问题的。
HtmlForm form = (HtmlForm) event.getComponent();
InputNumber inputNumber = new InputNumber();
inputNumber.setId("input1");
ValueExpression inputNumberValue = ef.createValueExpression(
context.getELContext(), "#{ruleManagedBean.inputNumber}",
Double.class);
inputNumber.setValueExpression("value", inputNumberValue);
form.getChildren().add(inputNumber);
并且在 xhtml 文件中:
<h:form id="form">
<f:event type="postAddToView"
listener="#{ruleManagedBean.populateForm}" />
<pe:blockUI></pe:blockUI>
</h:form>
注意:InputNumber 使用 Primefaces Extension(PE) 4.0 jar。所以我必须包含一个空的 PE 标签(我使用 pe:blockUI)因为它似乎不包含 PE js 文件,除非它至少有一个 PE 标签。