java - JSF 2.0 错误显示 h :messages

标签 java jsf jsf-2

我正在尝试找出一种方法来显示 h:messages,并在其周围显示 JQuery UI 突出显示框。但通过将其放入 f:verbatim 标记,它不会呈现。如果我尝试将其拆分为 HTML 周围的 2 个 f:verbatim 标记,我将得到:

javax.servlet.ServletException:解析错误/index.xhtml:错误跟踪[行:25] 元素类型“p”必须由匹配的结束标记“

”终止。

<f:verbatim rendered="#{uploadBean.hasMessage}">
    <div class="ui-widget">
    <div class="ui-state-highlight ui-corner-all" style="margin-top: 20px; padding: 0 .7em;"> 
            <p>
        <span class="ui-icon ui-icon-info" style="float: left; margin-right: .3em;"></span>
            **<h:messages />**
    </p>
    </div>
 </div>
</f:verbatim>

最佳答案

不要使用<f:verbatim>呈现包含 JSF 组件的部分。那里不是为了。 <f:verbatim>是陈旧黑暗的 JSF 1.0/1.1 时代的遗留物,当时不可能在 JSF 页面中内联纯 HTML 标签。更重要的是,<f:verbatim>自 JSF 2.0 起已弃用

使用<h:panelGroup>相反。

<h:panelGroup rendered="#{uploadBean.hasMessage}">
    ...
</h:panelGroup>

在寻找 JSF 2.x 资源/答案时,请确保您正在阅读针对 JSF 2.x 的资源/答案,而不是针对 JSF 1.x 的资源/答案。变化太大,JSF 2.x 中的很多事情都比 JSF 1.x 中的方式不同/更好。

另请参阅:

关于java - JSF 2.0 错误显示 h :messages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9794236/

相关文章:

java - 为什么不调用改造 validator ?

java - 使用 XMLUnit 进行 XML 比较

java - Fragment 内的 addView() 抛出 NullPointerException

java - 如何将列减少一些可变量?

jsf - 如何在 JSF EL 中显示 List#size() 的值?

jsf - JSF Web 应用程序中不断出现“目标无法访问”、标识符解析为 null 的情况

java - 如何在 Spring Boot 中创建不同的 ThreadPoolTask​​Executor?

ajax - 表单提交 vs ajax 执行 ="@form"

Java Servlet 过滤器以及其他对象和实体管理器的范围

jsf - 在 jsf 中完成 javascript 调用后如何调用监听器或支持 bean 方法?