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

📄 portletportalurltag.java.svn-base

📁 portal越来越流行了
💻 SVN-BASE
字号:
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.  See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License.  You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.pluto.driver.tags;import java.io.IOException;import javax.portlet.PortletMode;import javax.portlet.WindowState;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.BodyTagSupport;import javax.servlet.jsp.tagext.TagSupport;import org.apache.pluto.driver.core.PortalRequestContext;import org.apache.pluto.driver.url.PortalURL;/** * The portlet URL tag is used to generate portal URL pointing to the current * portlet with specified portlet mode and window state. * * @version 1.0 * @since Oct 4, 2004 */public class PortletPortalURLTag extends BodyTagSupport {    // Private Member Variables ------------------------------------------------    /** The window state to be encoded in the portal URL. */    private String windowState;    /** The portlet mode to be encoded in the portal URL. */    private String portletMode;    // Tag Attribute Accessors -------------------------------------------------    public String getWindowState() {        return windowState;    }    public void setWindowState(String windowState) {        this.windowState = windowState;    }    public String getPortletMode() {        return portletMode;    }    public void setPortletMode(String portletMode) {        this.portletMode = portletMode;    }    // BodyTagSupport Impl -----------------------------------------------------    /**     * Creates the portal URL pointing to the current portlet with specified     * portlet mode and window state, and print the URL to the page.     * @see PortletTag     */    public int doStartTag() throws JspException {        // Ensure that the portlet render tag resides within a portlet tag.        PortletTag parentTag = (PortletTag) TagSupport.findAncestorWithClass(                this, PortletTag.class);        if (parentTag == null) {            throw new JspException("Portlet window controls may only reside "                    + "within a pluto:portlet tag.");        }        // Create portal URL.        HttpServletRequest request = (HttpServletRequest)                pageContext.getRequest();        HttpServletResponse response = (HttpServletResponse)                pageContext.getResponse();        PortalRequestContext ctx = (PortalRequestContext)            request.getAttribute(PortalRequestContext.REQUEST_KEY);        PortalURL portalUrl =  ctx.createPortalURL();        // Encode window state of the current portlet in the portal URL.        String portletId = parentTag.getEvaluatedPortletId();        if (windowState != null) {            portalUrl.setWindowState(portletId, new WindowState(windowState));        }        // Encode portlet mode of the current portlet in the portal URL.        if (portletMode != null) {            portalUrl.setPortletMode(portletId, new PortletMode(portletMode));        }        // Print the portal URL as a string to the page.        try {            pageContext.getOut().print(response.encodeURL(portalUrl.toString()));        } catch (IOException ex) {            throw new JspException(ex);        }        // Skip the tag body.        return SKIP_BODY;    }}

⌨️ 快捷键说明

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