Anonymous | Login | Signup for a new account | 12-17-2024 08:49 PST |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
0004866 | [Resin] | minor | always | 11-22-11 13:36 | 11-28-11 11:50 | ||||
Reporter | rickHigh | View Status | public | ||||||
Assigned To | ferg | ||||||||
Priority | normal | Resolution | fixed | ||||||
Status | closed | Product Version | |||||||
Summary | 0004866: Basic Roo app causes SAX exception, jspx problem | ||||||||
Description |
This issue seems to be with jspx. To reproduce this, create a simple roo app. There is an issue with roo including an old jstl.jar file. It seemed like this issue went away before by just removing the jstl jar file. Now however, this does not seem to fix it. The error is as follows: {{{ 500 Servlet Exception file:/var/www/webapps/blog/WEB-INF/tags/util/panel.tagx:1: org.xml.sax.SAXParseException; lineNumber: 6; columnNumber: 40; The prefix "c" for element "c:if" is not bound. 1: <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" [^] xmlns:fn="http://java.sun.com/jsp/jstl/functions" [^] xmlns:spring="http://www.springframework.org/tags" [^] xmlns:c="http://java.sun.com/jsp/jstl/core" [^] version="2.0"> 2: <jsp:output omit-xml-declaration="yes" /> 3: }}} Here is the actual jspx (tagx really) {{{ $ cat /var/www/webapps/blog/WEB-INF/tags/util/panel.tagx <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" [^] xmlns:fn="http://java.sun.com/jsp/jstl/functions" [^] xmlns:spring="http://www.springframework.org/tags" [^] xmlns:c="http://java.sun.com/jsp/jstl/core" [^] version="2.0"> <jsp:output omit-xml-declaration="yes" /> <jsp:directive.attribute name="id" type="java.lang.String" required="true" rtexprvalue="true" description="The identifier for this tag (do not change!)" /> <jsp:directive.attribute name="title" type="java.lang.String" required="true" rtexprvalue="true" description="The page title (required)" /> <jsp:directive.attribute name="render" type="java.lang.Boolean" required="false" rtexprvalue="true" /> <jsp:directive.attribute name="openPane" type="java.lang.String" required="false" rtexprvalue="true" description="Control if the title pane is opened or closed by default (default: true)" /> <jsp:directive.attribute name="z" type="java.lang.String" required="false" description="Used for checking if element has been modified (to recalculate simply provide empty string value)" /> <c:if test="${empty render or render}"> <c:if test="${empty openPane}"> <c:set value="true" var="openPane" /> </c:if> <c:set var="sec_id"> <spring:escapeBody javaScriptEscape="true" >${id}</spring:escapeBody> </c:set> <c:set var="sec_openPane"> <spring:escapeBody javaScriptEscape="true" >${openPane}</spring:escapeBody> </c:set> <c:set var="sec_title"> <spring:escapeBody javaScriptEscape="true" >${title}</spring:escapeBody> </c:set> <script type="text/javascript">dojo.require('dijit.TitlePane');</script> <div id="_title_${sec_id}_id"> <script type="text/javascript">Spring.addDecoration(new Spring.ElementDecoration({elementId : '_title_${sec_id}_id', widgetType : 'dijit.TitlePane', widgetAttrs : {title: '${sec_title}', open: ${sec_openPane}}})); </script> <jsp:doBody /> </div> </c:if> </jsp:root> }}} |
||||||||
Additional Information | |||||||||
Attached Files | |||||||||
|
Notes | |
(0005622) rickHigh 11-22-11 13:54 |
Ok... what is bothering about this is this. If I edit this file, the error message does not change the line number, so it seems like Resin is caching the old version and/or somehow this error is really for another file. Or I am doing something really stupid, which I wish I could rule out. |
(0005624) rickHigh 11-22-11 14:03 |
I found the issue. They are including two jstl files that they were not including last time. They (roo) includes the new ones from glassfish as well as the old ones from Apache. None of these should be included. $ ls blog-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib | grep jstl jstl-api-1.2.jar jstl-impl-1.2.jar The bug is really there bug, but it does work with this bug under jetty, jboss and Tomcat. |
(0005625) rickHigh 11-22-11 14:23 |
Spoke to Scott. He knows exactly how to fix this. It will be fixed in 4.0.25. I need to verify. It was related to this... http://bugs.caucho.com/view.php?id=4492 [^] The big difference is that Roo has included even more JSTL jar files. Roo includes old JSTL jar files and new JSTL jar files and none of them are marked as provided. The workaround it to remove these or mark them as provided. I suspect they do not need the old JSTL files that they are not using. |
(0005632) rickHigh 11-28-11 11:44 |
Just want to add one note for people who google for this. There is an issue with Roo including old JSTL files which they should not. These files should be marked provided. Also Roo includes a deprecated JSTL and a newer JSTL, both need to be marked provided. However, even with this problem Jetty and Tomcat work with the same application. There are fixes added to Resin around JSTL processing at the SAX JSPX level that will make Resin work even if you include the wrong JSTL file. Resin 4.0.25 has this fix and Roo generated webapps should work out of the box with this fix. |
Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
35 total queries executed. 29 unique queries executed. |