1 package org.kohsuke.stapler.jelly; 2 3 import org.apache.commons.jelly.JellyTagException; 4 import org.apache.commons.jelly.Script; 5 import org.kohsuke.stapler.MetaClass; 6 import org.kohsuke.stapler.StaplerRequest; 7 import org.kohsuke.stapler.StaplerResponse; 8 9 import javax.servlet.RequestDispatcher ; 10 import javax.servlet.ServletException ; 11 import javax.servlet.ServletRequest ; 12 import javax.servlet.ServletResponse ; 13 import java.io.IOException ; 14 15 18 final class JellyRequestDispatcher implements RequestDispatcher { 19 private final Object it; 20 private final Script script; 21 22 public JellyRequestDispatcher(Object it, Script script) { 23 this.it = it; 24 this.script = script; 25 } 26 27 public void forward(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException , IOException { 28 try { 29 MetaClass.get(it.getClass()).loadTearOff(JellyClassTearOff.class).invokeScript( 30 (StaplerRequest)servletRequest, 31 (StaplerResponse)servletResponse, 32 script, it); 33 } catch (JellyTagException e) { 34 throw new ServletException (e); 35 } 36 } 37 38 public void include(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException , IOException { 39 forward(servletRequest,servletResponse); 40 } 41 } 42 | Popular Tags |