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>define</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 DefineTei extends TagExtraInfo {
32 /***
33 * Return information about the scripting variables to be created.
34 */
35 public VariableInfo[] getVariableInfo(TagData data) {
36 String type = (String) data.getAttribute("type");
37 Object name = data.getAttribute("name");
38 Object value = data.getAttribute("value");
39
40 if (type == null) {
41 if ((value != null) || (name == null)) {
42 type = "java.lang.String";
43 } else {
44 type = "java.lang.Object";
45 }
46 }
47
48 return new VariableInfo[] {
49 new VariableInfo(data.getAttributeString("id"), type, true,
50 VariableInfo.AT_END)
51 };
52 }
53 }