You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tiles.apache.org by ap...@apache.org on 2007/12/04 20:54:07 UTC
svn commit: r601061 - in
/tiles/framework/branches/TILES_2_0_X/tiles-jsp/src/main/java/org/apache/tiles/jsp:
context/JspTilesRequestContext.java context/JspUtil.java
taglib/InsertTemplateTag.java
Author: apetrelli
Date: Tue Dec 4 11:54:06 2007
New Revision: 601061
URL: http://svn.apache.org/viewvc?rev=601061&view=rev
Log:
TILES-231
Merge from trunk to TILES_2_0_X branch.
Removed the "doInclude" method in JspUtil and replaced the code with pageContext.include.
Modified:
tiles/framework/branches/TILES_2_0_X/tiles-jsp/src/main/java/org/apache/tiles/jsp/context/JspTilesRequestContext.java
tiles/framework/branches/TILES_2_0_X/tiles-jsp/src/main/java/org/apache/tiles/jsp/context/JspUtil.java
tiles/framework/branches/TILES_2_0_X/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/InsertTemplateTag.java
Modified: tiles/framework/branches/TILES_2_0_X/tiles-jsp/src/main/java/org/apache/tiles/jsp/context/JspTilesRequestContext.java
URL: http://svn.apache.org/viewvc/tiles/framework/branches/TILES_2_0_X/tiles-jsp/src/main/java/org/apache/tiles/jsp/context/JspTilesRequestContext.java?rev=601061&r1=601060&r2=601061&view=diff
==============================================================================
--- tiles/framework/branches/TILES_2_0_X/tiles-jsp/src/main/java/org/apache/tiles/jsp/context/JspTilesRequestContext.java (original)
+++ tiles/framework/branches/TILES_2_0_X/tiles-jsp/src/main/java/org/apache/tiles/jsp/context/JspTilesRequestContext.java Tue Dec 4 11:54:06 2007
@@ -26,10 +26,10 @@
import org.apache.tiles.servlet.context.ServletTilesRequestContext;
import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.PageContext;
-import javax.servlet.jsp.JspException;
import java.io.IOException;
/**
@@ -86,9 +86,9 @@
public void include(String path) throws IOException {
JspUtil.setForceInclude(pageContext, true);
try {
- JspUtil.doInclude(pageContext, path, false);
- } catch (JspException e) {
- LOG.error("JSPException while including path '" + path + "'. ", e);
+ pageContext.include(path, false);
+ } catch (ServletException e) {
+ LOG.error("ServletException while including path '" + path + "'. ", e);
throw new IOException("JSPException while including path '" + path
+ "'. " + e.getMessage());
}
Modified: tiles/framework/branches/TILES_2_0_X/tiles-jsp/src/main/java/org/apache/tiles/jsp/context/JspUtil.java
URL: http://svn.apache.org/viewvc/tiles/framework/branches/TILES_2_0_X/tiles-jsp/src/main/java/org/apache/tiles/jsp/context/JspUtil.java?rev=601061&r1=601060&r2=601061&view=diff
==============================================================================
--- tiles/framework/branches/TILES_2_0_X/tiles-jsp/src/main/java/org/apache/tiles/jsp/context/JspUtil.java (original)
+++ tiles/framework/branches/TILES_2_0_X/tiles-jsp/src/main/java/org/apache/tiles/jsp/context/JspUtil.java Tue Dec 4 11:54:06 2007
@@ -20,16 +20,9 @@
*/
package org.apache.tiles.jsp.context;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.apache.tiles.servlet.context.ServletUtil;
-import javax.servlet.ServletException;
-import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
/**
* Utility class for working within a Jsp environment.
@@ -42,67 +35,6 @@
* Constructor, private to avoid instantiation.
*/
private JspUtil() {
- }
-
- /**
- * The logging object.
- */
- private static final Log LOG =
- LogFactory.getLog(JspUtil.class);
-
- /**
- * JSP 2.0 include method to use which supports configurable flushing.
- */
- private static Method include = null;
-
- /**
- * Initialize the include variable with the
- * JSP 2.0 method if available.
- */
- static {
- try {
- // get version of include method with flush argument
- Class<?>[] args = new Class<?>[]{String.class, boolean.class};
- include = PageContext.class.getMethod("include", args);
- } catch (NoSuchMethodException e) {
- LOG.debug("Could not find JSP 2.0 include method. Using old one that doesn't support "
- + "configurable flushing.", e);
- }
- }
-
- /**
- * Includes an URI in the JSP response.
- *
- * @param pageContext The page context to use.
- * @param uri The URI to include.
- * @param flush <code>true</code> means that the buffer should be flushed at
- * the end of this operation
- * @throws JspException If an underlying exception happens.
- */
- public static void doInclude(PageContext pageContext, String uri, boolean flush)
- throws JspException {
-
- try {
- // perform include with new JSP 2.0 method that supports flushing
- if (include != null) {
- include.invoke(pageContext, uri, flush);
- return;
- }
- } catch (IllegalAccessException e) {
- LOG.debug("Could not find JSP 2.0 include method. Using old one.", e);
- } catch (InvocationTargetException e) {
- LOG.debug("Unable to execute JSP 2.0 include method. Trying old one.", e);
- }
-
-
- try {
- pageContext.include(uri);
- } catch (IOException e) {
- throw new JspException("IOException while including page.", e);
- } catch (ServletException e) {
- throw new JspException("ServletException while including page.", e);
- }
-
}
/**
Modified: tiles/framework/branches/TILES_2_0_X/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/InsertTemplateTag.java
URL: http://svn.apache.org/viewvc/tiles/framework/branches/TILES_2_0_X/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/InsertTemplateTag.java?rev=601061&r1=601060&r2=601061&view=diff
==============================================================================
--- tiles/framework/branches/TILES_2_0_X/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/InsertTemplateTag.java (original)
+++ tiles/framework/branches/TILES_2_0_X/tiles-jsp/src/main/java/org/apache/tiles/jsp/taglib/InsertTemplateTag.java Tue Dec 4 11:54:06 2007
@@ -21,8 +21,11 @@
package org.apache.tiles.jsp.taglib;
+import java.io.IOException;
+
import org.apache.tiles.jsp.context.JspUtil;
+import javax.servlet.ServletException;
import javax.servlet.jsp.JspException;
/**
@@ -65,6 +68,18 @@
// facility will be available, so it can be managed by the Tiles
// container.
JspUtil.setForceInclude(pageContext, true);
- JspUtil.doInclude(pageContext, template, flush);
+ try {
+ pageContext.include(template, flush);
+ } catch (ServletException e) {
+ Throwable rootCause = e.getRootCause();
+ if (rootCause != null) {
+ // Replace the ServletException with a JspException
+ throw new JspException(rootCause);
+ } else {
+ throw new JspException(e);
+ }
+ } catch (IOException e) {
+ throw new JspException(e);
+ }
}
}