얼굴 컨텍스트를 사용하여 페이지를 새로 고치는 동안 NPE를 얻는 이상한 행동이 있습니다. 관리되는 bean이 요청 범위에 있습니다. 그래서 commandbutton을 클릭 한 후 페이지를 새로 고침하고 싶습니다. 나는 '업데이트'를 시도했지만 내 페이지에서 이상하게 작동합니다. 오류 : PartialViewContextImpl $ PhaseAwareVisitCallback.visit : java.lang.NullPointerException이FacesContext를 통해 부분 렌더링하는 동안 NullPointerException 받기
이 내 JSF 페이지입니다 : 내가 페이지를 새로 고침 할 임시 보관함에 저장을 클릭하면 다음
<h:form id="form">
<p:messages autoUpdate="true"/>
<h:panelGrid columns="4" cellpadding="5" id="panelGrid" rendered="true">
<p:outputLabel for="s00" value="#{tk.expense_keyword}"/>
<p:inputText id="s00" value="#{expense.form.keyword}"/>
<p:outputLabel for="s02" value="#{tk.expense_creatorId}"/>
<p:inputText id="s02" value="#{expense.form.creatorId}" disabled="#{!expense.form.canEditCreatorId}"/>
<h:outputText id="s10" value="Amount Between #{expense.form.amountFrom} and #{expense.form.amountTo}" />
<h:panelGrid>
<p:slider for="s11,s12" display="s10" minValue="0" maxValue="1000" style="width: 200px" range="true" displayTemplate="Amount Between {min} and {max}" />
<h:inputHidden id="s11" value="#{expense.form.amountFrom}" />
<h:inputHidden id="s12" value="#{expense.form.amountTo}" />
</h:panelGrid>
</h:panelGrid>
<p:commandButton value="#{tk.expense_search}" id="a01" action="#{expense.search}" ajax="false" immediate="true"/>
<p:dataTable var="line" varStatus="loop" value="#{expense.form.expenseEntryList}" emptyMessage="#{tk.expense_table_empty}" id="dataTable">
<p:column headerText="#{tk.expense_table_creatorId}">
<h:inputHidden value="#{line.oid}"/>
<h:inputText value="#{line.creatorId}"/>
</p:column>
<f:facet name="footer">
<p:commandButton value="#{tk.expense_saveAsDraft}" id="a06" action="#{expense.saveAsDraft}"/>
<p:commandButton value="#{tk.expense_submit}" id="a07" action="#{expense.submitAll}"/>
<p:commandButton value="#{tk.expense_validate}" id="a08" action="#{expense.validate}"/>
</f:facet>
</p:dataTable>
</h:form>
. 그래서 FacesContext의 메소드를 사용하여 페이지를 새로 고침합니다. 이 요청 범위에 panelGrid :(당신이 콩이 모든
전체 스택 추적을 여기에 게시하십시오. 원본 스택을 실제로 인쇄하지 않는 방법을 알아 차릴 수는 없습니다. 인종, 그러나 예외를 다시 던지기. 또한 패널 격자 내의 내용을 최소화하고 특별한'render = "true"'를 제거하여 포커스를 좁혀 야합니다. – kolossus