gpt4 book ai didi

jsf - 如何将素面列包含到组合中

转载 作者:行者123 更新时间:2023-12-04 07:56:36 24 4
gpt4 key购买 nike

我有一个包含许多类似列的 primefaces 数据表,例如

    <p:column filterBy="#{element.value}" filterFunction="#{applicationHelperController.filterByNumber}" styleClass="ps-90-header" >
<f:facet name="header">
<p:tooltip for="@next" value="Some header tooltip"/>
<h:outputText id="#{header}_id" value="Some header" styleClass="ps-90-header" />
</f:facet>
<h:outputText value="#{element.value}" />
</p:column>
有没有办法为它创建一个组合,比如写
<mine:column value="#{element.value}" header="Some header" headerTooltip="Some header tooltip" />
我已经搜索/尝试了一天,但没有任何真正的成功。
我设法使用了 <ui:include...>带参数,但它几乎和原来一样冗长
    <ui:include src="/WEB-INF/includes/countColumn.xhtml" >
<ui:param name="value" value="#{element.value}"/>
<ui:param name="header" value="Some header"/>
<ui:param name="headerTooltip" value="Some header tooltip"/>
</ui:include>
我试过在这里使用 taglib How to create a composite component for a datatable column?即使它使用richfaces和这个解决方案 Column as Composite Component inside DataTable但没有工作。
我也在某处读到 <p:column...>应该是 <p:datatable...> 的直接 child 所以这是不可能的,但我相信这是旧的primefaces版本(3或4)。
那么,有谁知道 Primefaces 6 或 8 是否可行,如果可以,如何实现?

最佳答案

您可以使用 custom Facelet tags干燥你的代码。
只需为列创建标签,例如:

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<p:column ...>
...
</p:column>
</ui:composition>
这是我们的一个项目中表格的外观:
<dt:dataTable controller="#{controller}"
sortField="activationDate">
<dt:column id="id"/>
<dt:columnDate id="activationDate"/>
...
<dt:dataTable/>

关于jsf - 如何将素面列包含到组合中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66674245/

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