KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > struts > taglib > nested > logic > NestedMessagesPresentTag


1 /*
2  * $Id: NestedMessagesPresentTag.java 54929 2004-10-16 16:38:42Z germuska $
3  *
4  * Copyright 1999-2004 The Apache Software Foundation.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */

18 package org.apache.struts.taglib.nested.logic;
19
20 import javax.servlet.http.HttpServletRequest JavaDoc;
21 import javax.servlet.jsp.JspException JavaDoc;
22
23 import org.apache.struts.taglib.logic.MessagesPresentTag;
24 import org.apache.struts.taglib.nested.NestedPropertySupport;
25 import org.apache.struts.taglib.nested.NestedPropertyHelper;
26
27 /**
28  * NestedMessagesPresentTag.
29  *
30  * @since Struts 1.1
31  * @version $Rev: 54929 $ $Date: 2004-10-16 17:38:42 +0100 (Sat, 16 Oct 2004) $
32  */

33 public class NestedMessagesPresentTag extends MessagesPresentTag
34                                                   implements NestedPropertySupport {
35
36   /**
37    * Overriding method of the heart of the matter. Gets the relative property
38    * and leaves the rest up to the original tag implementation. Sweet.
39    * @return int JSP continuation directive.
40    * This is in the hands of the super class.
41    */

42   public int doStartTag() throws JspException JavaDoc {
43     // get the original properties
44
originalName = getName();
45     originalProperty = getProperty();
46
47     // request
48
HttpServletRequest JavaDoc request = (HttpServletRequest JavaDoc)pageContext.getRequest();
49     // set the properties
50
NestedPropertyHelper.setNestedProperties(request, this);
51
52     // let the super do it's thing
53
return super.doStartTag();
54   }
55
56   /**
57    * Complete the processing of the tag. The nested tags here will restore
58    * all the original value for the tag itself and the nesting context.
59    * @return int to describe the next step for the JSP processor
60    * @throws JspException for the bad things JSP's do
61    */

62   public int doEndTag() throws JspException JavaDoc {
63     // do the super's ending part
64
int i = super.doEndTag();
65
66     // reset the properties
67
setName(originalName);
68     setProperty(originalProperty);
69
70     // continue
71
return i;
72   }
73
74   /**
75    * Release the tag's resources and reset the values.
76    */

77   public void release() {
78     super.release();
79     // reset the originals
80
originalName = null;
81     originalProperty = null;
82   }
83
84   /* the usual private member variables */
85   private String JavaDoc originalName = null;
86   private String JavaDoc originalProperty = null;
87 }
88
Popular Tags