h: panelGrid渲染空的表格单元格



我有以下<h:panelGrid>:

   <h:panelGrid columns="2" id="panelGrid" > 
        <!-- heading -->
        <f:facet name="header">
            User Details
        </f:facet>
        <h:outputLabel value="#{bundle.ViewUserdetailsLabel_id}"/>
        <!-- adding in a small effect here that will fade a message when a user hovers over the id number or username -->
        <h:outputLink id="id1" value="#">  
            <h:outputText id="id" value="#{userdetailsController.selected.id}" title="#{bundle.ViewUserdetailsTitle_id}"/> 
        </h:outputLink>                            
        <p:tooltip for="id" value="This is your I.D. Number" showEffect="fade" hideEffect="fade" />
        <h:outputText value="#{bundle.ViewUserdetailsLabel_username}"/>
        <h:outputLink id="username1" value="#">  
            <h:outputText id="username" value="#{userdetailsController.selected.username}" title="#{bundle.ViewUserdetailsTitle_username}"/>
        </h:outputLink>                            
        <p:tooltip for="username" value="Your registered username, this can be changed" showEffect="fade" hideEffect="fade" />
        <f:facet name="footer"></f:facet>  
    </h:panelGrid>

我原以为它会显示为

用户详细信息Id:500用户名:zzzzzzzz

然而,相反,它显示为一些空单元格:

用户详细信息Id:500用户名:zzzzzzzzzz

当我使用<p:panelGrid>而不是<h:panelGrid>时,同样的问题也会消失。这是怎么造成的,我该如何解决?

在面板网格中,每个直属子组件都算作一个表单元格。

这些<!-- heading --><!-- adding ... -->注释行中的每一个都算作单个子行。因此,这些也将每一个计算为单个表单元。

要解决这个问题,只需通过以下web.xml条目告诉Facelets在视图构建期间跳过所有注释:

<context-param>
    <param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
    <param-value>true</param-value>
</context-param>

还有<p:tooltip>,它也算作一个表单元格,尽管它不代表任何直接内容。您需要将工具提示及其目标组件封装在<h:panelGroup>中,以便它表示单个表单元格(此外,您也可以将注释放在其中)。

<h:outputLabel value="#{bundle.ViewUserdetailsLabel_id}"/>
<h:panelGroup>
    <!-- adding in a small effect here that will fade a message when a user hovers over the id number or username -->
    <h:outputLink id="id1" value="#">  
        <h:outputText id="id" value="#{userdetailsController.selected.id}" title="#{bundle.ViewUserdetailsTitle_id}"/> 
    </h:outputLink>                            
    <p:tooltip for="id" value="This is your I.D. Number" showEffect="fade" hideEffect="fade" />
</h:panelGroup>
<h:outputText value="#{bundle.ViewUserdetailsLabel_username}"/>
<h:panelGroup>
    <h:outputLink id="username1" value="#">  
        <h:outputText id="username" value="#{userdetailsController.selected.username}" title="#{bundle.ViewUserdetailsTitle_username}"/>
    </h:outputLink>                            
    <p:tooltip for="username" value="Your registered username, this can be changed" showEffect="fade" hideEffect="fade" />
</h:panelGroup>

相关内容

  • 没有找到相关文章

最新更新