⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dispatcheddecorator.java

📁 OS(OpenSymphony)的SiteMesh是一个用来在JSP中实现页面布局和装饰(layout and decoration)的框架组件
💻 JAVA
字号:
package com.opensymphony.sitemesh.webapp.decorator;import com.opensymphony.sitemesh.Content;import com.opensymphony.sitemesh.webapp.SiteMeshWebAppContext;import javax.servlet.RequestDispatcher;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;/** * Decorator that dispatches to another path in the Servlet Container (such as a JSP or path mapped to a Servlet). * <p/> * The Content and SiteMeshContext objects are passed to the decorator using the HttpServletRequest attributes * {@link #CONTENT_KEY} and {@link #CONTEXT_KEY}. * <p/> * To dispatch to a decorator in another web-app on the same server, use {@link ExternalDispatchedDecorator}. * * @author Joe Walnes * @since SiteMesh 3.0 */public class DispatchedDecorator extends BaseWebAppDecorator {    public static final String CONTENT_KEY = "com.opensymphony.sitemesh.CONTENT";    public static final String CONTEXT_KEY = "com.opensymphony.sitemesh.CONTEXT";    private final String path;    public DispatchedDecorator(String path) {        this.path = path;    }    protected void render(Content content, HttpServletRequest request, HttpServletResponse response,                          ServletContext servletContext, SiteMeshWebAppContext webAppContext)            throws IOException, ServletException {        Object oldContent = request.getAttribute(CONTENT_KEY);        Object oldWebAppContext = request.getAttribute(CONTEXT_KEY);        request.setAttribute(CONTENT_KEY, content);        request.setAttribute(CONTEXT_KEY, webAppContext);        try {            RequestDispatcher dispatcher = servletContext.getRequestDispatcher(path);            dispatcher.include(request, response);        } finally {            request.setAttribute(CONTENT_KEY, oldContent);            request.setAttribute(CONTEXT_KEY, oldWebAppContext);        }    }    protected ServletContext locateWebApp(ServletContext context) {        // Overriden by ExternalDispatchedDecorator, which finds the context of another web-app.        return context;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -