我正在尝试找出一种方法来显示 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/