내가 @ViewScoped (BUG REPORT)와 결합 버그에 대해 읽은과는 JSF의 최신 버전 중 하나에 고정되었다, 그래서 나는JSF 2.2 @ViewScoped 바인딩 버그?
<context-param>
<param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
<param-value>false</param-value>
를 사용하여 JSF의 3 개 최신 버전이 테스트 시도
해결할 수 있지만 운이 없다.
필자는 각 열 머리글에 필터가있는 데이터 테이블을 사용할 수 있습니다. 나는 JSF 버전을 변경하기 전에
<p:column id="cpfHeader" sortBy="#{cliente.nrCpf}"
filterMatchMode="contains">
<f:facet name="header">
<h:panelGrid columns="1">
<h:outputText value="CPF" />
<p:inputText value="#{cadastroClienteBean.cliente.nrCpf}">
</p:inputText>
<p:commandButton
actionListener="#{cadastroClienteBean.getClientesBusca}"
update="#{form}:tabelaCliente:tblCliente" value="Filtrar"></p:commandButton>
</h:panelGrid>
</f:facet>
#{cliente.nrCpf}
</p:column>
는, 나는 "Filtrar"버튼을 클릭 것마다 내 cadastroClienteBean의 새로운 인스턴스가 생성 될 것이다. 이제는 변경 했으므로 ManagedBean이 매번 인스턴스화되지 않고 클라이언트 변수가 null이되고있는 것 같습니다. 생성자에서 인스턴스화하더라도 마찬가지입니다.
public CadastroClienteBean(){
cliente = new Cliente();
init();
}
EDIT :를 I 필터의 값이 변수 및 오른쪽 setCliente()를 호출하고 널로 설정되고 그 후에 설정되는 것을 발견 비트 디버깅 후에하지만하지 왜 그런지 안다.
'클라이언트'속성을 '일시적'으로 표시 했습니까? 당신은해서는 안됩니다. – BalusC
아니, 난' 이 공용 클래스 CadastroClienteBean는 Serializable를 구현 @ViewScoped @ManagedBean하지 않았다 { \t \t/** \t * \t */ \t 개인 정적 최종 오래 serialVersionUID의 = 1L; \t 개인 목록 고객; \t 개인 고객 클라이언트; \t \t private string valor; –