https://bz.apache.org/bugzilla/show_bug.cgi?id=65414

            Bug ID: 65414
           Summary: Problem compiling JSP using multiple taglib
           Product: Tomcat 9
           Version: 9.0.48
          Hardware: PC
            Status: NEW
          Severity: critical
          Priority: P2
         Component: Jasper
          Assignee: dev@tomcat.apache.org
          Reporter: janpier.san...@softwell.com.br
  Target Milestone: -----

Created attachment 37925
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=37925&action=edit
File on 9.0.48

This problem does not occur using version 9.0.46, only with the update of
apache tomcat the compilation error starts to occur.
Below is an excerpt of the JSP code that has a compilation error: 

<c:forEach items="${pageScope.systems}" var="wfre" varStatus="loop">
                        <c:url value="/admincore" var="wfreRemoveFile">
                          <c:param name="action" value="wfreRemoveFile"/>
                          <c:param name="sys"><c:out
value="${wfre.code}"/></c:param>
                        </c:url>

                        <webrun:message var="confirm_remove"
key="INFO.CONFIRM_REMOVE_SYSTEM" js="true">
                         
<webrun:messageParam>${wfre.jsName}</webrun:messageParam>
                        </webrun:message>
</c:forEach>


When compiling the JSP file in version 9.0.46 the .java output file has the
following instruction for invoke2:

    public boolean invoke2( javax.servlet.jsp.JspWriter out ) 
      throws java.lang.Throwable
    {
      out.write("\n");
      out.write("                          ");
      if (_jspx_meth_webrun_005fmessageParam_005f1(_jspx_parent,
_jspx_page_context, _jspx_push_body_count))
        return true;
      out.write("\n");
      out.write("                        ");
      return false;
    }

The same JSP in version 9.0.48 the .java output file has the following
instruction for invoke2: 

    public boolean invoke2( javax.servlet.jsp.JspWriter out ) 
      throws java.lang.Throwable
    {
      out.write("\n");
      out.write("                          ");
      if (_jspx_meth_webrun_005fmessageParam_005f1(_jspx_parent,
_jspx_page_context, _jspx_push_body_count_c_005fforEach_005f0))
        return true;
      out.write("\n");
      out.write("                        ");
      return false;
    }


Note that in version 9.0.46 the variable has the name _jspx_push_body_count and
in 9.0.48 this name becomes _jspx_push_body_count_c_005fforEach_005f0, as this
variable does not exist, the compilation error is displayed.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to