2012-11-23 4 views
0

얼굴 메시지의 프리젠 테이션을 사용자 정의하고 싶습니다. 다음과 같이이를 위해 얼굴 메시지의 프리젠 테이션을 사용자 정의하는 방법

, 검증이 실패했을 경우에
<h:inputText id="name" required="true" /> 

, 다음은 그러나,

<h:message for="name" /> 

에 표시됩니다, 나는 프리젠 테이션 호출 JS를 사용자 정의하고 싶습니다 :

<div class="notification"></div> 
function showNotification(msg){ 
$(".notification").html(msg); 
$(".notification").fadeIn(1000, function(){ 
    timeout = setTimeout(function(){ 
     $(".notification").fadeOut(1000); 
    }, 5000); 
}); 
} 

어떻게하면됩니까?

답변

0

FacesContext#getMessageList()을 사용하여보기에서 메시지를 가져올 수 있으며 필요한 경우 특정 클라이언트 ID에 대한 메시지를 볼 수 있습니다. ui:repeat에서 반복 할 수 있습니다. 각 항목은 여러 게터가있는 FacesMessage입니다. <h:outputText escape="false">을 사용하여 이스케이프 처리되지 않은 메시지에 HTML을 표시 할 수 있습니다.

그래서, 간단히 말해서 : 그 HTML 도움말 링크가 실제로 일부가 아닌 경우

<ui:repeat value="#{facesContext.messageList('form:name')}" var="message"> 
    <div><h:outputText value="#{message.summary}" escape="false" /></div> 
</ui:repeat> 

,

(위의 예에서, 나는 양식이 id="form"이 있다고 가정) 또는 메시지의 내용은 다음과 같습니다.

<ui:repeat value="#{facesContext.messageList('form:name')}" var="message"> 
    <div>#{message.summary} <a href="help.xhtml">help</a></div> 
</ui:repeat> 
+0

thx 수정 한 내용, wolud가 내 코드를 업데이트 했습니까? –

+0

JSF가 줄 바꿈과 같은 JS 코드를 손상시킬 수있는 문자를 포함하지 않는다면, ''을 인쇄하도록하십시오. – BalusC

+0

고맙습니다. –

관련 문제