java - 将 facesmessage 绑定(bind)到 xhtml 页面中的标签

标签 java jsp

我想将 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/

相关文章:

java - 如何独立运行一个java程序和另一个java程序?

java - 将 PMD 默认规则与属性结合使用

java - 404 请求的资源不可用 Eclipse/Tomcat

java - Spring RequestMapping java.lang.IllegalArgumentException 错误

java - 根据登录的用户将JSP页面重定向到另一个JSP页面

jsp - 使用 scriptlet 调用 onClick 函数

java - 将 Java.Util.Set 加载到 Spring ConfigurationProperties

java - 在 server.xml 中包含 adminCenter-1.0 和 batchManagement-1.0 功能,从而在 Liberty 8.5.5.8 中出现功能冲突错误

java - 需要帮助理解有关并行流性能提升的文章

jsp - 简化输出数据列表为空时默认显示一行