Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tapestry Wiki" for 
change notification.

The following page has been changed by ErikVullings:
http://wiki.apache.org/tapestry/TapestryFasttrackForStrutsProgrammers

------------------------------------------------------------------------------
  
  = Component for accessing JSPs =
  
+ You can create a component which displays a JSP page, thus serving as a 
bridge between Tapestry and Struts: {{{
+ package com.mydomain.myproject.components;
+ 
+ import org.apache.tapestry.AbstractComponent;
+ import org.apache.tapestry.IMarkupWriter;
+ import org.apache.tapestry.IRequestCycle;
+ import org.apache.tapestry.annotations.ComponentClass;
+ import org.apache.tapestry.annotations.InjectObject;
+ import org.apache.tapestry.annotations.Parameter;
+ import org.apache.tapestry.services.RequestGlobals;
+ 
+ import javax.servlet.ServletException;
+ import javax.servlet.http.HttpServletRequest;
+ import javax.servlet.http.HttpServletResponse;
+ import java.io.IOException;
+ 
+ /**
+  * Tapestry component for displaying a JSP page.
+  *
+  * @author Martin Kuba [EMAIL PROTECTED]
+  */
+ @ComponentClass(allowBody = false, allowInformalParameters = false, 
reservedParameters = "include")
+ public abstract class JspPage extends AbstractComponent {
+  
+     @Parameter(name = "include", required = true)
+     public abstract String getInclude();
+ 
+      @InjectObject(value = "service:tapestry.globals.RequestGlobals")
+     public abstract RequestGlobals getRequestGlobals();
+ 
+     protected void renderComponent(IMarkupWriter writer, IRequestCycle cycle) 
{
+         RequestGlobals globals = getRequestGlobals();
+         HttpServletRequest request = globals.getRequest();
+         HttpServletResponse response = globals.getResponse();
+         try {
+             request.getRequestDispatcher(getInclude()).include(request, 
response);
+         } catch (ServletException e) {
+             log.error(e.getMessage(), e);
+         } catch (IOException e) {
+             log.error(e.getMessage(), e);
+         }
+     }
+ }
+ 
+ }}}
+ 
+ You can call it then as {{{
+ <span jwcid="@JspPage" include="/somepage.jsp" />
+ }}}
+ 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to