다음은 시나리오입니다. 내 관리 빈에서, 나는 새로운 FacesMessage 객체를 만들고과 같이, 어떤 UI 구성 요소와 연관없이 FacesContext에 추가 : 그래서 같은JSF : FacesMessage가 두 번 표시됩니다.
FacesContext context = FacesContext.getCurrentInstance();
FacesMessage message = new FacesMessage();
message.setSummary("Hi there!");
context.addMessage(null, message);
을 내 XHTML 페이지에서 I 출력 내 메시지 :
<h:messages id="someId" globalOnly="true" showSummary="true" showDetail="false" styleClass="startUpMessages"/>
그러나, 생성 된 HTML이 같은 두 번 메시지의 요약을 표시
<ul id="mainForm:someId" class="startUpMessages"><li> Hi there! </li><li> Hi there! </li></ul>
<ul id="javax_faces_developmentstage_messages" title="Project Stage[Development]: Unhandled Messages"></ul>
사람이 동작을 설명 할 수 있습니까?
당신은 메시지를 추가하기위한 코드가 여러 번 실행하지 않는 것이 확실하다? 간단한 인쇄물을 배치하십시오 ..... – Daniel
제안한대로 FacesMessage 작성 옆에 관리 Bean에 인쇄물을 배치했습니다. 인쇄물은 한 번만 나타납니다. – Jim
그냥 호기심이 생기면 context.addMessage ("test", message); globalOnly = "false"는 다른 메시지를 제거합니까? –