我想将 facesmessage 绑定(bind)到 xhtml 页面中的特定组件。 我的面部信息如下所示:
ctx.addMessage("newAdmin:email", new FacesMessage(FacesMessage.SEVERITY_WARN, "No email!", "You should enter a email"));
这样 clientId 就是“newAdmin:email”。 我的 xhtml 页面如下所示:
<h:body>
<h:form class="text-left" id="newAdmin">
<h1 class="centerTxt">Televic Login</h1>
<h:messages class="error" globalOnly="true" />
<label>Email</label>
<h:inputText class="form-control" id="lg_username" value= "#{userController.email}"></h:inputText>
<h:message for="email"></h:message>
<h:commandButton class="btn btn-success" value="Login" action = "#{userController.login()}"></h:commandButton>
</h:form>
当我将 clientId 设置为“null”时,它可以将消息很好地绑定(bind)到全局消息标记,但绑定(bind)到特定消息标记将不起作用。 怎么了?我怎样才能找到正确的clientId?
最佳答案
我在您的 JSF 文件中没有看到任何包含电子邮件 ID 的组件。 h:message
组件的 for
属性将消息附加到具有相应 id 的组件。看来应该是:
<h:message for="lg_username"></h:message>
在您的 Java 代码中:
ctx.addMessage("newAdmin:lg_username", new FacesMessage(FacesMessage.SEVERITY_WARN, "No email!", "You should enter a email"));
关于java - 将 facesmessage 绑定(bind)到 xhtml 页面中的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43612258/