3

我创建了一个在其自己的包含文件中定义的表列。此列<ui:include>在其他几个 Facelets 页面中使用,以在某些数据表中使用。包含列使用一个名为“linje”的变量(它是一个 java 类),该变量在包含该列的父页面中定义。

即使代码有效,我也无法从 IntelliJ 中包含的文件导航到 java 类。有没有办法做到这一点?我还从 IntellJ 收到很多警告“无法解析变量“linje”。

使用该列的代码

<rich:dataTable value="#{someMBean.someLinjeModel}"
                        reRender="ds-h" var="linje" id="vt"
                        rows="#{someBean.rows}" styleClass="standard"
                        rowClasses="odd,even">

            <ui:include src="someColumn.xhtml"></ui:include>

来自 someColumn.xhtml 的代码

<rich:column id="status" rendered="#{!linje.someRenderingCheck}">
        <f:facet name="header">
            <h:outputText value="Status"/>
        </f:facet>
        <h:outputText value="#{linje.someText}"/>
</rich:column>
4

1 回答 1

2

您可以将变量linje作为参数传递给<ui:unclude>.

例如:

<ui:include src="someColumn.xhtml">
    <ui:param name="linje" value="#{linje}" />
</ui:include>

这将是一个请求参数someColumn.xhtml,您可以将其复制到另一个(使用<c:set>标签),以避免 IDE 警告:

<c:set var="linje" value="#{linje}" />
于 2015-06-08T08:43:54.593 回答