KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > strutsel > taglib > logic > ELForwardTag


1 /*
2  * $Id: ELForwardTag.java 54933 2004-10-16 17:04:52Z 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
19 package org.apache.strutsel.taglib.logic;
20
21 import org.apache.struts.taglib.logic.ForwardTag;
22 import javax.servlet.jsp.JspException JavaDoc;
23 import org.apache.strutsel.taglib.utils.EvalHelper;
24
25 /**
26  * Perform a forward or redirect to a page that is looked up in the
27  * configuration information associated with our application.
28  *<p>
29  * This class is a subclass of the class
30  * <code>org.apache.struts.taglib.logix.ForwardTag</code> which provides most of
31  * the described functionality. This subclass allows all attribute values to
32  * be specified as expressions utilizing the JavaServer Pages Standard Library
33  * expression language.
34  *
35  * @version $Rev: 54933 $
36  */

37 public class ELForwardTag extends ForwardTag {
38
39     /**
40      * Instance variable mapped to "name" tag attribute.
41      * (Mapping set in associated BeanInfo class.)
42      */

43     private String JavaDoc nameExpr;
44
45     /**
46      * Getter method for "name" tag attribute.
47      * (Mapping set in associated BeanInfo class.)
48      */

49     public String JavaDoc getNameExpr() { return (nameExpr); }
50
51     /**
52      * Setter method for "name" tag attribute.
53      * (Mapping set in associated BeanInfo class.)
54      */

55     public void setNameExpr(String JavaDoc nameExpr) { this.nameExpr = nameExpr; }
56
57     /**
58      * Resets attribute values for tag reuse.
59      */

60     public void release()
61     {
62         super.release();
63         setNameExpr(null);
64     }
65     
66     /**
67      * Process the start tag.
68      *
69      * @exception JspException if a JSP exception has occurred
70      */

71     public int doStartTag() throws JspException JavaDoc {
72         evaluateExpressions();
73         return(super.doStartTag());
74     }
75
76     /**
77      * Processes all attribute values which use the JSTL expression evaluation
78      * engine to determine their values.
79      *
80      * @exception JspException if a JSP exception has occurred
81      */

82     private void evaluateExpressions() throws JspException JavaDoc {
83         String JavaDoc string = null;
84
85         if ((string = EvalHelper.evalString("name", getNameExpr(),
86                                             this, pageContext)) != null)
87             setName(string);
88     }
89 }
90
Popular Tags