Demetra can't resolve variable from nested <bean:define> struts tag

Build #5368. If I place the <bean:define> inside of any logic tag
(<logic:equal>, for example>), Demetra cannot resolve it.

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%
pageContext.setAttribute("condition", Integer.valueOf(1));
pageContext.setAttribute("parameter", Integer.valueOf(2));
%>

<bean:define id="parameter" name="parameter" type="java.lang.Integer"/>
<logic:equal name="condition" value="1">
<%-- Success --%>
<%=parameter.intValue()%>
</logic:equal>

<logic:equal name="condition" value="1">
<bean:define id="parameter2" name="parameter" type="java.lang.Integer"/>
<%-- Cannot resolve symbol 'parameter2' --%>
<%=parameter2.intValue()%>
</logic:equal>


--
Denis Popov

1 comment
Comment actions Permalink

Thank you, issue is fixed.

Denis Popov wrote:

Build #5368. If I place the <bean:define> inside of any logic tag
(<logic:equal>, for example>), Demetra cannot resolve it.

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%
pageContext.setAttribute("condition", Integer.valueOf(1));
pageContext.setAttribute("parameter", Integer.valueOf(2));
%>

<bean:define id="parameter" name="parameter" type="java.lang.Integer"/>
<logic:equal name="condition" value="1">
<%-- Success --%>
<%=parameter.intValue()%>
</logic:equal>

<logic:equal name="condition" value="1">
<bean:define id="parameter2" name="parameter" type="java.lang.Integer"/>
<%-- Cannot resolve symbol 'parameter2' --%>
<%=parameter2.intValue()%>
</logic:equal>



--
Best regards,
Maxim Mossienko
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"

0

Please sign in to leave a comment.