2013-05-03 7 views
1

p : ajax update atribute 요소를 사용하는 데 문제가 있습니다. 내 코드 <p:ajax update="@all" />에 사용하면 javax.el.PropertyNotFoundException이 발생합니다. 내가 <f:ajax render="@all" />을 사용할 때 나는 아무것도 얻지 못한다. 나는 그 thouse 태그가 거의 동일하지만. 아무도 무슨 일이 일어 났는지 설명 할 수 있습니까?Primefaces <p : ajax update = "@ all"/>가 작동하지 않습니다.

mojjara 구현 인 primefaces 3.5와 Liferay jsf portlet bridge를 사용하고 있습니다. 스택 트레이스의

예 : '# personManagementBean.item.contact.phoneNumber {} "값 = 95,99 @ /pages/views/personForm.xhtml : javax.el.PropertyNotFoundException :

의해 발생 : 대상에 도달 할 수 없음, 'null'이 반환되었습니다. null com.sun.faces.facelets.el.TagValueExpression.getType (TagValueExpression.java:100) at org.primefaces.renderkit.InputRenderer.findImplicitConverter (InputRenderer.java:170) at org.primefaces.renderkit.InputRenderer.findConverter (InputRenderer.java:190) at 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:1214) 에서 javax.faces.component.UIComponentBase.processValidators (UIComponentBase.java:1214) 에서 javax.faces.component.UIForm.processValidators (UIForm.java:253) 에서 javax.faces. component.UIComponentBase.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>                  
+1

을 시도 했습니까? –

+0

'Target Unreachable, 'null'returned null'은'item' 또는'contact'가'null'임을 나타냅니다. 이거 확인 했니? – BalusC

+0

RongNK : 처음에는

을 시도하지 않았지만 실제로 작동합니다. 나는 여기서 일어나는 일에 대해 더욱 혼란 스럽다. commandButton 내부의 업데이트 속성은 p : ajax 태그의 것과 동일한 기능을 가지고 있다고 생각합니다. BalusC : null입니다. (어디에도 초기화하지 않았습니다.) 코드는

를 사용하지 않는 한 작동합니다. 나는 EL이 "null-safe"(비록 그것조차도 존재한다면 : D)입니다. – svobol13

답변

6

옵티머스 프라임 (Primefaces의 주요 개발자) update="@all" 나쁜 생각이며 primefaces 디자인 link to forum post하여 구현하지 않는 것을 말한다.

내가이 문제를 해결하기 위해 수행하는 작업은 자바 스크립트에서 페이지 새로 고침을 사용하는 것입니다. 버튼의 oncomplete 속성에 넣기 만하면됩니다.

oncomplete="window.location.replace(window.location.href);" 

아직 해결되지 않았거나 향후 참조를 위해 문제가 해결되어야한다고 생각합니다.