我在考虑以一种更好的方式使用<h:messages>,就像这样:
<h:panelGroup rendered="#{not empty facesContext.getMessages}">
<hr/>
<h3>Please inform us about:</h3>
<h:messages globalOnly="true" escape="false" />
</h:panelGroup>这个想法是以一种不同的方式向用户显示消息,具有更多的风格。这有可能吗?
发布于 2013-05-14 20:23:26
它们由JSF中的FacesContext#getMessageList()提供,因此也可由EL中的#{facesContext.messageList}提供。
如果您想查看是否有任何消息:
<h:panelGroup ... rendered="#{not empty facesContext.messageList}">或者,如果您想检查是否有任何全局消息:
<h:panelGroup ... rendered="#{not empty facesContext.getMessageList(null)}">发布于 2013-05-14 18:57:41
你可以试试jNotify。下面是我的应用程序中的一些代码。它需要重新加载页面才能显示消息。每条消息都应该单独出现。它使用jNotify 2.1插件和jQuery 1.5.1。我希望这能帮到你
link to jNotify example usage
<h:messages styleClass="zewError"
showDetail="false"
globalOnly="false"
infoClass="infoMes"
errorClass="errorMes" />javascript
$(document).ready(
function()
{
$('.infoMes').each(
function(){
jSuccess(''+$(this).html()), //add <h3>Please inform us about:</h3> here
{
autoHide : false, // added in v2.0
clickOverlay : true, // added in v2.0
MinWidth : 250,
TimeShown : 3000,
ShowTimeEffect : 200,
HideTimeEffect : 200,
LongTrip :20,
HorizontalPosition : 'left',
VerticalPosition : 'bottom',
ShowOverlay : true,
ColorOverlay : '#000',
OpacityOverlay : 0.3,
onClosed : function(){ // added in v2.0
},
onCompleted : function(){ // added in v2.0
}
}
});
$('.errorMes').each(
function(){
jError(''+$(this).html()),
{
autoHide : false, // added in v2.0
clickOverlay : true, // added in v2.0
MinWidth : 250,
TimeShown : 3000,
ShowTimeEffect : 200,
HideTimeEffect : 200,
LongTrip :20,
HorizontalPosition : 'left',
VerticalPosition : 'bottom',
ShowOverlay : true,
ColorOverlay : '#000',
OpacityOverlay : 0.3,
onClosed : function(){ // added in v2.0
},
onCompleted : function(){ // added in v2.0
}
}
});
$('.zewError').remove();
}
);https://stackoverflow.com/questions/16540991
复制相似问题