将JSF呈现的属性应用于span

use*_*976 3 jsf

我正在尝试将JSF呈现的属性应用于h:panelGroup中的span,但是span仍然呈现 - 下面是我正在使用的一些示例代码.

<span id="myId" rendered="#{myBean.rendered}" class="groupBox" style="left: 1px; top: 8px; height: 38px; width: 339px;"  />
Run Code Online (Sandbox Code Playgroud)

谢谢

Bal*_*usC 10

rendered属性仅由JSF组件识别,而不是由纯HTML元素识别.

所需代码的JSF等价物可以用<h:panelGroup>或表示<h:outputText>.两者都生成HTML <span>元素.如果您需要<span>没有文字内容,就像在问题中一样,只需使用<h:panelGroup>.

<h:panelGroup id="myId" rendered="#{myBean.rendered}" styleClass="groupBox" style="left: 1px; top: 8px; height: 38px; width: 339px;" />
Run Code Online (Sandbox Code Playgroud)

如果您需要<span>带文本内容,请使用<h:outputText>.您可以在其value属性中指定文本内容.

或者,如果您确实需要<span>自己出于某种原因自己写下一个纯HTML 元素,那么您始终可以将该rendered属性移动到<ui:fragment>包装整个HTML内容的位置.

<ui:fragment rendered="#{myBean.rendered}">
    <span id="myId" class="groupBox" style="left: 1px; top: 8px; height: 38px; width: 339px;" />
</ui:fragment>
Run Code Online (Sandbox Code Playgroud)