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

📄 parameterdecoratormapper.java

📁 OS(OpenSymphony)的SiteMesh是一个用来在JSP中实现页面布局和装饰(layout and decoration)的框架组件
💻 JAVA
字号:
/* * Title:        ParameterDecoratorMapper * 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 java.util.Properties;/** * The ParameterDecoratorMapper will map a suitable decorator based on request * parameters. * * <p>The ParameterDecoratorMapper is configured via three properties.</p> * * <p><code>decorator.parameter</code> - the parameter which contains the name of the decorator which will be mapped. * The default is "decorator".</p> * * <p>For example if <code>decorator.parameter</code> is "foobar" then * myurl.jsp?foobar=mydecorator will map to the decorator named "mydecorator".</p> * * <p>You can also supply an optional 'confirmation parameter'. * The decorator will only be mapped if the parameter named <code>parameter.name</code> is * in the request URI and the value of that parameter is equal to the * <code>parameter.value</code> property.</p> * * <p>For example assuming parameter.name=confirm and parameter.value=true * the URI myurl.jsp?decorator=mydecorator&confirm=true will map the decorator mydecorator. * where as the URIs myurl.jsp?decorator=mydecorator and myurl.jsp?decorator=mydecorator&confirm=false will * not return any decorator.</p> * * @author <a href="mailto:mcannon@internet.com">Mike Cannon-Brookes</a> * @version $Revision: 1.3 $ * * @see com.opensymphony.module.sitemesh.DecoratorMapper */public class ParameterDecoratorMapper extends AbstractDecoratorMapper {    private String decoratorParameter = null, paramName = null, paramValue = null;    public void init(Config config, Properties properties, DecoratorMapper parent) throws InstantiationException {        super.init(config, properties, parent);        decoratorParameter = properties.getProperty("decorator.parameter", "decorator");        paramName = properties.getProperty("parameter.name", null);        paramValue = properties.getProperty("parameter.value", null);    }    public Decorator getDecorator(HttpServletRequest request, Page page) {        Decorator result = null;        String decoratorParamValue = request.getParameter(decoratorParameter);        if ((paramName == null || paramValue.equals(request.getParameter(paramName)))            && decoratorParamValue != null && !decoratorParamValue.trim().equals("")) {                result = getNamedDecorator(request, decoratorParamValue);        }        return result == null ? super.getDecorator(request, page) : result;    }}

⌨️ 快捷键说明

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