Jsf IntelliJ警告说;无法解析变量";在include的父页面中声明的EL变量上
我创建了一个表列,它在自己的include文件中定义。此列由Jsf IntelliJ警告说;无法解析变量";在include的父页面中声明的EL变量上,jsf,intellij-idea,el,facelets,uiinclude,Jsf,Intellij Idea,El,Facelets,Uiinclude,我创建了一个表列,它在自己的include文件中定义。此列由在某些数据表中使用的其他一些Facelets页面中使用。include列使用一个名为“linje”(是一个java类)的变量,该变量在包含该列的父页面中定义 即使代码可以工作,我也无法从IntelliJ中包含的文件导航到java类。有没有办法做到这一点?我还从IntellJ“无法解析变量”linje收到很多警告 使用列的代码 <rich:dataTable value="#{someMBean.someLinjeModel}"
在某些数据表中使用的其他一些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>
您可以将变量
linje
作为
的参数传递
例如:
<ui:include src="someColumn.xhtml">
<ui:param name="linje" value="#{linje}" />
</ui:include>
如果您使用
c:set
技巧,那么IDE不会再抱怨它不知道linje
是什么,但是如果您尝试使用linje
的属性,例如在表达式中使用{linje.someText}
,它会抱怨linje
没有属性someText
(因为它不知道linje的类型是什么)。
<c:set var="linje" value="#{linje}" />