You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by "Brian P. Millett" <bp...@ec-group.com> on 2002/07/16 18:12:33 UTC

Jasper error with struts & patch

The jsp code it's self:
  <logic:present name="prospectForm" property="prospectid">
       <jsp:include page="/prospectmenu.jsp" flush="true"/>
  </logic:present>

The JSP generated code that is bad:
private boolean _jspx_meth_logic_present_0(javax.servlet.jsp.tagext.Tag
                                           _jspx_th_html_form_0,
                                           javax.servlet.jsp.PageContext
                                           pageContext)
          throws Throwable {
    JspWriter out = pageContext.getOut();
    HttpServletRequest request =
(HttpServletRequest)pageContext.getRequest();
    ServletResponse response = pageContext.getResponse();
    /* ----  logic:present ---- */
    {

      [SNIP]

       JspRuntimeLibrary.include(request, 
                                 response,
                                 "/prospectmenu.jsp",
                                 out,
                                 true);


The error:
An error occurred at line: 58 in the jsp file: /content/prospectform.jsp

Generated servlet error:
    [javac] Compiling 1 source file
/opt2/jakarta-tomcat-4.1.7-LE-jdk14/work/Standalone/localhost/helpdesk/content/p
rospectform$jsp.java:371:
include(javax.servlet.http.HttpServletRequest,javax.se
rvlet.http.HttpServletResponse,java.lang.String,javax.servlet.jsp.JspWriter,bool
ean) in org.apache.jasper.runtime.JspRuntimeLibrary cannot be applied to
(javax.
servlet.http.HttpServletRequest,javax.servlet.ServletResponse,java.lang.String,j
avax.servlet.jsp.JspWriter,boolean)
          JspRuntimeLibrary.include(request, response,
"/prospectmenu.jsp", out,
 true);
                           ^
1 error


The problem is that JspRuntimeLibrary.include signature does not match
the code generated:  ServletResponse can not be morphed into a
HttpServletResponse.  So here is a patch, BUT I do not know what else it
will "break".  I figure that someone who "knows" jasper can figure out
what to do. :-)


PATCH:
 diff -wruN /var/tmp/bpm/Generator.java.~1~
src/share/org/apache/jasper/compiler/Generator.java 
--- /var/tmp/bpm/Generator.java.~1~     Thu Jun 27 12:32:17 2002
+++ src/share/org/apache/jasper/compiler/Generator.java Tue Jul 16
10:46:17 2002
@@ -1155,7 +1155,7 @@
                    out.println("HttpServletRequest request =
(HttpServletRequest)pageContext.getRequest();");
                }
                if (n.isHasIncludeAction()) {
-                   out.println("ServletResponse response =
pageContext.getResponse();");
+                    out.println("HttpServletResponse response =
(HttpServletResponse)pageContext.getResponse();");
                }
            }
 

-- 
Brian Millett                    
Enterprise Consulting Group   "Shifts in paradigms
(314) 205-9030               often cause nose bleeds."
bpm@ec-group.com                           Greg Glenn