gpt4 book ai didi

java - Richfaces tabPanel 中未呈现合成

转载 作者:行者123 更新时间:2023-11-30 04:05:08 29 4
gpt4 key购买 nike

我是 JSF 和 Richfaces 的用户。我将简化有关我的问题的代码以使事情变得更容易。我有一个名为“mytab.xhtml”的组合,定义如下:

<cc:interface>
<cc:attribute name="header" required="true"/>
</cc:interface>
<cc:implementation>
<rich:tab id="my-tab" header="#{cc.attrs.header}" >
<cc:insertChildren />
</rich:tab>
</cc:implementation>

这个组合被用在另一个 xhtml 文件中,如下所示:

<rich:tabPanel id="tp" switchType="ajax" headerPosition="top" >
<ic:mytab id="tab1" header="header1">
<h:outputText>content1</h:outputText>
</ic:mytab>
<ic:mytab id="tab2" header="header2">
<h:outputText>content1</h:outputText>
</ic:mytab>
</rich:tabPanel>

但很奇怪的是,选项卡根本没有渲染。为了找到原因,如果我在合成定义文件中添加一个输出文本,如下所示:

<cc:interface>
<cc:attribute name="header" required="true"/>
</cc:interface>
<cc:implementation>
<h:outputText>#{cc.attrs.header}</h:outputText>
<rich:tab id="my-tab" header="#{cc.attrs.header}" >
<cc:insertChildren />
</rich:tab>
</cc:implementation>

将呈现输出文本,但不呈现选项卡。

或者,如果我直接将其中一个选项卡更改为 richfaces 选项卡:

<rich:tabPanel id="tp" switchType="ajax" headerPosition="top" >
<ic:mytab id="tab1" header="header1">
<h:outputText>content1</h:outputText>
</ic:mytab>
<rich:tab id="tab2" header="header2">
<h:outputText>content1</h:outputText>
</rich:tab>
</rich:tabPanel>

第一个选项卡将不会呈现,但第二个选项卡将呈现。

如果您能给我任何帮助,谢谢。

最佳答案

复合组件呈现为自己的UINamingContainer。因此,在 UITabPanelUITab 组件之间现在是一个 UINamingContainer,UITab 可能不知道如何处理它(数据表也有同样的问题,顺便一提)。您可以做的是使用 classic facelet tag相反。

关于java - Richfaces tabPanel 中未呈现合成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20967953/

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