我在使用 p:ajax 更新属性元素时遇到了问题。当我在我的代码中使用时,我<p:ajax update="@all" />
得到了javax.el.PropertyNotFoundException
. 当我使用时,<f:ajax render="@all" />
我没有得到任何东西。我认为 thouse 标签几乎相同。谁能解释发生了什么?
我正在使用 mojjara 实现、primefaces 3.5 和 Liferay jsf portlet 桥。
堆栈跟踪示例:
引起:javax.el.PropertyNotFoundException:/pages/views/personForm.xhtml @95,99 value="#{personManagementBean.item.contact.phoneNumber}":目标无法到达,'null' 在 com.sun.faces 返回 null .facelets.el.TagValueExpression.getType(TagValueExpression.java:100) 在 org.primefaces.renderkit.InputRenderer.findImplicitConverter(InputRenderer.java:170) 在 org.primefaces.renderkit.InputRenderer.findConverter(InputRenderer.java:190) 在org.primefaces.renderkit.InputRenderer.getConvertedValue(InputRenderer.java:196) 在 javax.faces.component.UIInput.getConvertedValue(UIInput.java:1030) 在 javax.faces.component.UIInput.validate(UIInput.java:960)在 javax.faces.component.UIInput.executeValidate(UIInput.java:1233) 在 javax.faces.component.UIInput.processValidators(UIInput.java:698) 在 javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214) 在 javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java) 在 javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214) :1214) 在 javax.faces.component.UIForm.processValidators(UIForm.java:253) 在 javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)processValidators(UIComponentBase.java:1214)processValidators(UIComponentBase.java:1214)
两个按钮:
<p:commandButton value="not working" action="#{enrollmentManagementBean.cancelEnrollment}">
<p:ajax update="@all" />
</p:commandButton>
<h:commandButton value="working" action="#{enrollmentManagementBean.cancelEnrollment}">
<f:ajax render="@all" />
</h:commandButton>