首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >组合未在Richfaces tabPanel中呈现

组合未在Richfaces tabPanel中呈现
EN

Stack Overflow用户
提问于 2014-01-07 09:25:05
回答 1查看 406关注 0票数 1

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

代码语言:javascript
复制
<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文件中使用,如下所示:

代码语言:javascript
复制
<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>

但是,非常奇怪的是,该选项卡根本没有呈现。要找到原因,如果我在组合定义文件中添加了一个outputText,如下所示:

代码语言:javascript
复制
<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>

将呈现outputText,但没有呈现选项卡。

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

代码语言:javascript
复制
<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>

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

如果你能帮我什么忙,谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-07 11:14:12

组合组件被呈现为自己的UINamingContainer。因此,在UITabPanelUITab-component之间现在是一个UINamingContainer,UITab可能不知道如何处理它(顺便说一句,datatable也有同样的问题)。您可以做的是使用经典面片标签代替。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20967953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档