当前位置: 首页 > 知识库问答 >
问题:

除非给出ID,否则不呈现没有样式或样式的PanelGroup

祝高阳
2023-03-14

根据http://xmlns.jcp.org/jsf/html的标签库,一个h: panelGroup

用于只能嵌套一个UIComponent子节点的情况,例如方面。如果存在样式或样式类属性,并且布局属性的值为块,则呈现div元素,输出样式属性的值作为样式属性的值和"Style leClass"属性作为"class"属性的值。否则,如果"布局"属性不存在,或者"布局"属性包含"块"以外的值,则呈现"span"元素,输出"style"属性的值作为"style"属性的值,并将"StyleClass"属性作为"class"属性的值。

万一

<h:panelGroup id="id" layout="block">
    <!-- ... --->
</h:panelGroup>

或者

<h:panelGroup layout="block" style="margin-right: 10px;">
    <!-- ... --->
</h:panelGroup>

正在呈现div

<div id="id">
</div>

各自的

<div style="margin-right: 10px;">
</div>

但是当省略id(如果不想更新panelGroup)或style(如果不想样式化panelGroup)时,没有div渲染和由此产生的超文本标记语言会打乱布局。进一步探索JSF的领域,一个panelGroup也可以用来有条件地渲染子元素,使用它的渲染标志,但是如前所述,当省略两个提到的属性时,结果是有条件地渲染的,但是没有div,如

<h:panelGroup layout="block" rendered="true">
<it>Without DIV.</it>
</h:panelGroup>

导致

<it>Without DIV.</it>

在这次询问之后,我想与Stackoverflow社区核实一下,我理解正确,当不使用panelGroup作为命名容器或对其元素进行常规样式设置时,最好使用ui:fragment解决条件渲染部分(如果需要),并使用硬编码的布局部分div。是这样吗?

共有1个答案

咸育
2023-03-14

注意:我们讨论的是,如果h:panelgroup将呈现任何HTML组件,但除非render=“false”在任何情况下都不会阻止内部组件呈现。

h:panelgroup的行为树包括两个检查:

>

  • 是否至少设置了一个“id”或“style”或“styleClass”属性
    是:
    a.呈现

    没有:

    布局属性的测试仅在1之后进行。,在上面因为您的第三个示例进入了no分支,所以它被忽略。

  •  类似资料:
    • 如何在样式组件中使用条件渲染来设置我的按钮类在React中使用样式组件? 在css中,我会这样做: 如果我尝试使用'

    • 嗨,我是一个新手在反应本机,并试图创建一个Android应用程序使用相同的。如果我改变我的观点- 上面的代码工作得很好,所有的组件都被渲染了,但是如果我改变样式并取消注释,和它的所有子元素都不被渲染。我不知道为什么会这样。我还尝试了其他风格在rowContainer像 只要style为空,它就可以工作,如果我在其中添加任何内容,视图就不会渲染。

    • 我正在React.js网站上浏览react教程(井字游戏),我想在用户单击它时单独设置每个正方形的样式。更具体地说,当轮到玩家 X 时,正方形应该变成红色,当轮到玩家 O 时,正方形应该变成蓝色。我试图使用道具和状态来改变颜色。但是,react 会更改所有方块,而不是单独更改方块的颜色。 以下是我迄今为止所尝试的。

    • 问题内容: 我有几个运行良好的python脚本,但是如果我尝试从bash运行它,一个脚本(截至今天上午)开始给我这个错误: : 无此文件或目录 我可以通过运行“破损”脚本并四处查看后,发现我的总体思路是,我的hashbang的行尾已更改(无提示),因此我查看了工作脚本的行尾并通过VI中的选项破坏了脚本,如该问题所示->在文本文件中查看行尾 两个文件似乎都以相同的字符(a )结尾,因此我对如何从此处

    • 主要内容:例子,运行测试标签用类型“”呈现类型为“”的HTML元素。 此标签将外部样式表文件添加到JSF页面。 以下JSF标签 - 被渲染成如下HTML代码 - 例子 以下是文件:UserBean.java 中的代码 - 以下是文件: table-style.css 的代码 - 以下是文件: index.xhtml 的代码 - 运行测试 这里使用NetBeans创建一个名称为:OutputStylesheet 的Web项

    • 问题内容: 我试图编写一个函数,该函数接受元素的ID并给出应用于该元素的所有样式属性(及其值)的列表。它应该考虑内联样式以及css文件中定义的样式。 当我在参数中提供样式属性名称以及元素的ID时,我可以使函数起作用,但是我只想传递元素的ID,并且应该能够获取所有样式属性以及值。 函数应该类似于getStyleById(elementId); 到目前为止,PFB的代码片段: 任何帮助,将不胜感激。