View Javadoc

1   /*
2    * Copyright 2003,2004 The Apache Software Foundation.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  /* 
17  
18   */
19  
20  /*
21   * Created on Feb 21, 2003
22   *
23   * To change this generated comment go to 
24   * Window>Preferences>Java>Code Generation>Code Template
25   */
26  package org.apache.pluto.tags;
27  
28  import javax.portlet.PortletMode;
29  import javax.portlet.PortletModeException;
30  import javax.portlet.PortletSecurityException;
31  import javax.portlet.RenderResponse;
32  import javax.portlet.WindowState;
33  import javax.portlet.WindowStateException;
34  import javax.servlet.jsp.JspException;
35  import javax.servlet.jsp.PageContext;
36  
37  /***
38   ** Supporting class for the <CODE>renderURL</CODE> tag.
39   ** Creates a url that points to the current Portlet and triggers an render request
40   ** with the supplied parameters. 
41   **
42   **/
43  public class RenderURLTag extends BasicURLTag
44  {
45  
46  
47      /* (non-Javadoc)
48           * @see javax.servlet.jsp.tagext.Tag#doStartTag()
49           */
50      public int doStartTag() throws JspException {
51          if (var != null)
52          {
53              pageContext.removeAttribute(var, PageContext.PAGE_SCOPE);
54          }
55          RenderResponse renderResponse = (RenderResponse)pageContext.getRequest().getAttribute("javax.portlet.response");
56  
57          if (renderResponse != null)
58          {
59              setUrl(renderResponse.createRenderURL());
60              if (portletMode != null)
61              {
62                  try
63                  {
64                      PortletMode mode = new PortletMode(portletMode);
65                      url.setPortletMode(mode);
66                  }
67                  catch (PortletModeException e)
68                  {
69                      throw new JspException(e);
70                  }
71              }
72              if (windowState != null)
73              {
74                  try
75                  {
76                      WindowState state = new WindowState(windowState);
77                      url.setWindowState(state);
78                  }
79                  catch (WindowStateException e)
80                  {
81                      throw new JspException(e);
82                  }
83              }
84              if (secure != null)
85              {
86                  try
87                  {
88                      url.setSecure(getSecureBoolean());
89                  }
90                  catch (PortletSecurityException e)
91                  {
92                      throw new JspException(e);
93                  }
94              }
95          }
96          return EVAL_PAGE;
97      }
98  }
99