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

📄 velocitydecoratorservlet.java

📁 一个jsp网页布局框架
💻 JAVA
字号:
/* * Title:        VelocityDecoratorServlet * Description: * * This software is published under the terms of the OpenSymphony Software * License version 1.1, of which a copy has been included with this * distribution in the LICENSE.txt file. */package com.opensymphony.module.sitemesh.velocity;import com.opensymphony.module.sitemesh.*;import com.opensymphony.module.sitemesh.util.OutputConverter;import org.apache.velocity.Template;import org.apache.velocity.context.Context;import org.apache.velocity.tools.view.servlet.VelocityViewServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.StringWriter;/** * Servlet that allows Velocity templates to be used as decorators. * * @author <a href="mailto:joe@truemesh.com">Joe Walnes</a> * @version $Revision: 1.9 $ */public class VelocityDecoratorServlet extends VelocityViewServlet {    public Template handleRequest(HttpServletRequest request, HttpServletResponse response, Context context) throws Exception {        HTMLPage htmlPage = (HTMLPage) request.getAttribute(RequestConstants.PAGE);        String template;        context.put("base", request.getContextPath());        // For backwards compatability with apps that used the old VelocityDecoratorServlet        // that extended VelocityServlet instead of VelocityViewServlet        context.put("req", request);        context.put("res", response);        if (htmlPage == null) {            context.put("title", "Title?");            context.put("body", "<p>Body?</p>");            context.put("head", "<!-- head -->");            template = request.getServletPath();        }        else {            context.put("title", OutputConverter.convert(htmlPage.getTitle()));            {                StringWriter buffer = new StringWriter();                htmlPage.writeBody(OutputConverter.getWriter(buffer));                context.put("body", buffer.toString());            }            {                StringWriter buffer = new StringWriter();                htmlPage.writeHead(OutputConverter.getWriter(buffer));                context.put("head", buffer.toString());            }            context.put("page", htmlPage);            DecoratorMapper decoratorMapper = getDecoratorMapper();            Decorator decorator = decoratorMapper.getDecorator(request, htmlPage);            template = decorator.getPage();        }        return getTemplate(template);    }    private DecoratorMapper getDecoratorMapper() {        Factory factory = Factory.getInstance(new Config(getServletConfig()));        DecoratorMapper decoratorMapper = factory.getDecoratorMapper();        return decoratorMapper;    }}

⌨️ 快捷键说明

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