Update of /var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/pageflow
In directory james.mmbase.org:/tmp/cvs-serv4033

Modified Files:
        IncludeTag.java 
Log Message:
MMB-1596


See also: 
http://cvs.mmbase.org/viewcvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/pageflow
See also: http://www.mmbase.org/jira/browse/MMB-1596


Index: IncludeTag.java
===================================================================
RCS file: 
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/pageflow/IncludeTag.java,v
retrieving revision 1.84
retrieving revision 1.85
diff -u -b -r1.84 -r1.85
--- IncludeTag.java     25 Jan 2008 10:25:01 -0000      1.84
+++ IncludeTag.java     18 Feb 2008 18:30:46 -0000      1.85
@@ -36,7 +36,7 @@
  *
  * @author Michiel Meeuwissen
  * @author Johannes Verelst
- * @version $Id: IncludeTag.java,v 1.84 2008/01/25 10:25:01 michiel Exp $
+ * @version $Id: IncludeTag.java,v 1.85 2008/02/18 18:30:46 michiel Exp $
  */
 
 public class IncludeTag extends UrlTag {
@@ -308,11 +308,15 @@
         // Orion bug fix.
         req.getParameterMap();
 
-        HttpServletRequestWrapper requestWrapper   = new 
HttpServletRequestWrapper(req);
-
         try {
             ServletContext sc = pageContext.getServletContext();
             if (sc == null) log.error("Cannot retrieve ServletContext from 
PageContext");
+
+            if (! 
ResourceLoader.getWebRoot().getResource(relativeUrl).openConnection().getDoInput())
 {
+                handleResponse(404, "No such resource " + relativeUrl, 
relativeUrl);
+            } else {
+                HttpServletRequestWrapper requestWrapper   = new 
HttpServletRequestWrapper(req);
+
             RequestDispatcher requestDispatcher = 
sc.getRequestDispatcher(relativeUrl);
             if (requestDispatcher == null) {
                 throw new NotFoundException("Page \"" + relativeUrl + "\" does 
not exist (No request-dispatcher could be created)");
@@ -326,12 +330,12 @@
                 responseWrapper = new IncludeWrapper(resp, encoding);
             }
             requestDispatcher.include(requestWrapper, responseWrapper);
-
             handleResponse(responseWrapper.getStatus(), 
responseWrapper.toString(), relativeUrl);
+            }
 
             getThreadPageContext();
         } catch (Throwable e) {
-            log.error(relativeUrl + " " +  Logging.stackTrace(e));
+            log.error(relativeUrl, e);
             throw new TaglibException(relativeUrl + " " + e.getMessage(), e);
         }
 
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to