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

📄 cookiedecoratormapper.java

📁 OS(OpenSymphony)的SiteMesh是一个用来在JSP中实现页面布局和装饰(layout and decoration)的框架组件
💻 JAVA
字号:
/* * Title:        CookieDecoratorMapper * 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.mapper;import com.opensymphony.module.sitemesh.Config;import com.opensymphony.module.sitemesh.Decorator;import com.opensymphony.module.sitemesh.DecoratorMapper;import com.opensymphony.module.sitemesh.Page;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.Cookie;import java.util.Properties;/** * The CookieDecoratorMapper will map a suitable decorator based on a cookie value. * * <p>The CookieDecoratorMapper is configured via one properties. * <code>cookie.name</code> - the cookie which contains the name of the * decorator which will be mapped.</p> * * @author Paul Hammant * @version $Revision: 1.2 $ * * @see com.opensymphony.module.sitemesh.DecoratorMapper */public class CookieDecoratorMapper extends AbstractDecoratorMapper {    private String cookieName;    public void init(Config config, Properties properties, DecoratorMapper parent) throws InstantiationException {        super.init(config, properties, parent);        cookieName = properties.getProperty("cookie.name", null);        if (cookieName == null) {            throw new InstantiationException("'cookie.name' name parameter not set for this decorator mapper");        }    }    public Decorator getDecorator(HttpServletRequest request, Page page) {        Decorator result = null;        Cookie[] cookies = request.getCookies();        if (cookies != null) {            for (int i = 0; i < cookies.length; i++) {                Cookie cookie = cookies[i];                if (cookie.getName().equals(cookieName)) {                    result = getNamedDecorator(request, cookie.getValue());                }            }        }        return result == null ? super.getDecorator(request, page) : result;    }}

⌨️ 快捷键说明

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