1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.struts.taglib.bean;
22
23 import javax.servlet.jsp.tagext.TagData;
24 import javax.servlet.jsp.tagext.TagExtraInfo;
25 import javax.servlet.jsp.tagext.VariableInfo;
26
27 /**
28 * Implementation of <code>TagExtraInfo</code> for the <b>page</b> tag,
29 * identifying the scripting object(s) to be made visible.
30 *
31 * @version $Rev: 471754 $ $Date: 2004-10-16 12:38:42 -0400 (Sat, 16 Oct 2004)
32 * $
33 */
34 public class PageTei extends TagExtraInfo {
35 /**
36 * Return information about the scripting variables to be created.
37 */
38 public VariableInfo[] getVariableInfo(TagData data) {
39 String type = null;
40 String property = data.getAttributeString("property");
41
42 if ("application".equalsIgnoreCase(property)) {
43 type = "javax.servlet.ServletContext";
44 } else if ("config".equalsIgnoreCase(property)) {
45 type = "javax.servlet.ServletConfig";
46 } else if ("request".equalsIgnoreCase(property)) {
47 type = "javax.servlet.ServletRequest";
48 } else if ("response".equalsIgnoreCase(property)) {
49 type = "javax.servlet.ServletResponse";
50 } else if ("session".equalsIgnoreCase(property)) {
51 type = "javax.servlet.http.HttpSession";
52 } else {
53 type = "java.lang.Object";
54 }
55
56 return new VariableInfo[] {
57 new VariableInfo(data.getAttributeString("id"), type, true,
58 VariableInfo.AT_BEGIN)
59 };
60 }
61 }