我想将错误消息显示为此示例中的工具提示:http://www.primefaces.org/showcase/ui/message/messages.xhtml
这是我的JSF代码段:
<h:form id="loginForm">
<p:messages id="messages" showDetail="true" closable="true" for="login"/>
<h:panelGrid columns="3" cellpadding="3" width="100%">
<p:outputLabel for="username" value="Login: "/>
<p:inputText style="width: 100%;" value="#{loginBean.username}" required="true" id="username"/>
<p:message for="username" display="tooltip"/>
<p:outputLabel for="password" value="Password:"/>
<p:password style="width: 100%;" value="#{loginBean.password}" required="true" id="password"/>
<p:message for="password" display="tooltip"/>
</h:panelGrid>
<p:commandButton value="OK" action="#{loginBean.login()}" update="loginForm" style="float: right; margin-top: 5px;"/>
</h:form>
以下是Login行的HTML输出代码段:
<tr>
<td><label id="loginForm:j_idt9" class="ui-outputlabel ui-widget ui-state-error" for="loginForm:username">Login: <span class="ui-outputlabel-rfi">*</span></label></td>
<td><input id="loginForm:username" name="loginForm:username" type="text" value="" style="width: 100%;" aria-required="true" class="ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all ui-state-error" role="textbox" aria-disabled="false" aria-readonly="false"></td>
<td><div id="loginForm:j_idt10" aria-live="polite" class="ui-message ui-helper-hidden ui-message-error ui-widget ui-corner-all"><span class="ui-message-error-icon"></span><span class="ui-message-error-detail">Login: Validation Error: Value is required.</span></div></td>
</tr>
显然有工具提示的HTML代码。输入具有红色轮廓,但是当我将鼠标悬停在输入框上时,工具提示消息才会显示。我的表单放在对话框窗口中。
Primefaces 6.0.RC2
答案 0 :(得分:6)
您将此代码段放在<h:body>...</h:body>
对标记内以及<h:form> ... </h:form>
对标记之外:
<p:tooltip />
这是源代码工作(暂时的,为了简单起见,我不使用bean及其属性,方法):
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
<p:tooltip />
<h:form id="loginForm">
<p:messages id="messages" showDetail="true" closable="true" for="login"/>
<h:panelGrid columns="3" cellpadding="3" width="100%">
<p:outputLabel for="username" value="Login: "/>
<p:inputText style="width: 100%;" required="true" id="username"/>
<p:message for="username" display="tooltip"/>
<p:outputLabel for="password" value="Password:"/>
<p:password style="width: 100%;" required="true" id="password"/>
<p:message for="password" display="tooltip"/>
</h:panelGrid>
<p:commandButton value="OK" update="loginForm" style="float: right; margin-top: 5px;"/>
</h:form>
</h:body>
</html>