gpt4 book ai didi

jsf - 用户界面 :define with rendered ="false" attribute still rendering

转载 作者:行者123 更新时间:2023-12-04 10:04:55 26 4
gpt4 key购买 nike

<ui:define name="description" rendered="false">
<meta name="description" content="do not render" />
</ui:define>

我在我的 xhtml 页面中使用此代码,当我运行应用程序时,元描述仍在呈现。我想根据某些条件使用元描述标签。主布局:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<ui:insert name="description" />
</h:head>
...........
</html>

网页:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"                    
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
template="/templates/masterLayout.xhtml">

<ui:define name="description" rendered="false">
<meta name="description" content="do not render" />
</ui:define>
...........
</ui:composition>

最佳答案

<ui:define> 是在 View 构建期间运行的标记处理程序,而不是 UIComponent在 View 渲染时间运行。因此它not支持rendered属性。任何不受支持的属性都会被直接忽略。

使用 <ui:fragment> 反而。

<ui:define name="description">
<ui:fragment rendered="false">
<meta name="description" content="do not render" />
</ui:fragment>
</ui:define>

关于jsf - 用户界面 :define with rendered ="false" attribute still rendering,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12655530/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com