IntelliJ警告在include的父页面中声明的EL变量上的“无法解析变量”

时间:2015-06-08 08:35:53

标签: jsf intellij-idea el facelets uiinclude

我创建了一个表列,它在自己的include文件中定义。 <ui:include>在一些其他Facelets页面中使用此列在某些数据表中使用。 include列使用一个名为“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>

1 个答案:

答案 0 :(得分:2)

您可以将变量app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/Account/Login"), Provider = new CookieAuthenticationProvider { // Enables the application to validate the security stamp when the user logs in. // This is a security feature which is used when you change a password or add an external login to your account. OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>( validateInterval: TimeSpan.FromSeconds(0), regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) } }); 作为linje的参数传递。

例如:

<ui:unclude>

它将是<ui:include src="someColumn.xhtml"> <ui:param name="linje" value="#{linje}" /> </ui:include> 的请求参数,您可以复制到另一个(使用<c:set>标记),以避免IDE警告:

someColumn.xhtml