데이터를 저장할 때 새 항목을 추가하는 페이지가 하나 있습니다. "데이터가 성공적으로 저장되었습니다"라는 메시지를보고 싶은 다른 페이지로 이동합니다. 그 메시지가 요청 스코프에 속해있어서 플래시 스코프를 사용하는 이유를 읽었습니다.리디렉션 된 페이지로 플래시 메시지 보내기
context.addMessage("calendarGameForm:growl", new FacesMessage("Data was saved successful");
context.getExternalContext().getFlash().setKeepMessages(true);
return outcome;
이 첫 페이지 addSeason.xhtml
에 저장 버튼으로 호출됩니다.
<p:commandButton id="save" action="#{controller.add}"
value="#{msg.save}" ajax="true"
type="submit" update="@form"/>
탐색 규칙은 다음과 같이 정의됩니다.
<navigation-rule>
<from-view-id>/competitions/addSeason.xhtml</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/competitions/calendarGame.xhtml</to-view-id>
<redirect/>
</navigation-case>
<navigation-case>
<from-outcome>fail</from-outcome>
<to-view-id>/competitions/calendarGame.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
그러나 대상 페이지에서 calendarGame.xhtml
나는 내 메시지를받지 못했습니다.
<p:growl id="growl" globalOnly="true" sticky="true"/>
서버 로그에도이 경고가 표시됩니다.
은 [javax.enterprise.resource.webcontainer.jsf.flash] (AJP - 127.0.0.1-8009-1를) 경고 JSF1095는 : 응답은 이미 우리가 보내는 쿠키를 설정하려고 시간에 의해 자행되었다 전조등. 플래시에 저장된 모든 값은 다음 요청에서 사용할 수 없습니다.
문제점을 어떻게 해결할 수 있습니까?
@BalucC 대단히 감사합니다.) – Ray
안녕하십니까. – BalusC