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]
