ViewScope 모드에서 Managed Bean을 사용하고 있습니다. 그래서,이 Managed Bean에서 어떤 동작을 호출하면 내 페이지가 업데이트되지 않습니다. 내 동작이 잘 호출되고 null을 반환하는 것을 볼 수 있습니다 (뷰 스코프 작업 흐름은 정상입니다).JSF ViewScope - 동작에서 null을 반환하면 뷰가 업데이트되지 않습니다.
그래서 내가 뭘 잘못하고 있니?
Ajax를 사용하여 페이지를 다시 렌더링하면 올바르게 작동합니다.
편집 :
내 버전은 다음과 같습니다
JSF 2.1.14 Primefaces와 3.4.1
내 코드 :
@ManagedBean(name = "test")
@ViewScoped
public class TestMB implements Serializable {
private String status;
public String getStatus() { return this.status; }
public void setStatus(String status) { this.status = status; }
public String changeStatus() {
this.status = "ViewScope Works!";
return null;
}
}
내 페이지 :
<!DOCTYPE HTML>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
template="/template/ui.xhtml">
<ui:define name="head">
</ui:define>
<ui:define id="teste" name="content">
<h:form id="form">
<h:outputText id="status" value="OK?: #{test.status}" />
<p:commandButton id="myAction" value="Do it!" action="#{test.changeStatus}" />
</h:form>
</ui:define>
</ui:composition>
내 정보 상태 변수가 변경되지 않습니다. 그리고 네. 그 행동은 OK라고합니다. 어떤 팁?
명백한 피하기 위해,이 작업은 ajax에 의해 호출 되었습니까? 따라서, 당신은 아약스에 의해 액션을 호출하고 있지만, 아약스에 의해 페이지를 업데이트하지는 않습니까? – BalusC
아니요. 저는 두 가지 방법을 시도합니다 : 보통과 By Ajax. 정상적으로 작동하지 않습니다. 아약스/구성 요소보기를 rerender, 잘 작동합니다. HTML 응답이 OK (정상적인 호출에 의해)를지지하고 있지만 VIEW가 새로 고치거나 업데이트되지 않는다는 것을 방화범이 들려왔다. – abyteneverlie
SSCCE의 코드에 코드를 표시하십시오. JSF를 준비하는 방법은 JSF 위키 페이지 http://stackoverflow.com/tags/jsf/info – BalusC