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