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>actionURL</CODE> tag.
39   * Creates a url that points to the current Portlet and triggers an action request
40   * with the supplied parameters. 
41   *
42   */
43  public class ActionURLTag extends BasicURLTag
44  {
45  
46      /* (non-Javadoc)
47       * @see javax.servlet.jsp.tagext.Tag#doStartTag()
48       */
49      public int doStartTag() throws JspException {
50          if (var != null)
51          {
52              pageContext.removeAttribute(var, PageContext.PAGE_SCOPE);
53          }
54          RenderResponse renderResponse = (RenderResponse)pageContext.getRequest().getAttribute("javax.portlet.response");
55  
56          if (renderResponse != null)
57          {
58              setUrl(renderResponse.createActionURL());
59              if (portletMode != null)
60              {
61                  try
62                  {
63                      PortletMode mode = new PortletMode(portletMode);
64                      url.setPortletMode(mode);
65                  }
66                  catch (PortletModeException e)
67                  {
68                      throw new JspException(e);
69                  }
70              }
71              if (windowState != null)
72              {
73                  try
74                  {
75                      WindowState state = new WindowState(windowState);
76                      url.setWindowState(state);
77                  }
78                  catch (WindowStateException e)
79                  {
80                      throw new JspException(e);
81                  }
82              }
83              if (secure != null)
84              {
85                  try
86                  {
87                      url.setSecure(getSecureBoolean());
88                  }
89                  catch (PortletSecurityException e)
90                  {
91                      throw new JspException(e);
92                  }
93              }
94          }
95          return EVAL_PAGE;
96      }
97  }
98