1 package com.instantbank.collections.main.web;
2
3 import java.io.IOException;
4 import javax.servlet.jsp.JspException;
5 import javax.servlet.jsp.tagext.TagSupport;
6 import oracle.xml.parser.v2.XMLDocument;
7 import oracle.xml.parser.v2.XMLNode;
8 import org.w3c.dom.Node;
9 import com.instantbank.collections.util.StringFormat;
10
11 public class ValueOfTag extends TagSupport {
12 private String name = null;
13 private XMLNode node = null;
14
15
16 public void setName(String name) {
17 this.name = name;
18 }
19
20
21 public void setNode(Node node) {
22 XMLDocument root;
23
24 if(node instanceof XMLDocument) {
25 root = (XMLDocument)node;
26 this.node = (XMLNode)root.getDocumentElement();
27 }
28 else {
29 this.node = (XMLNode)node;
30 }
31 }
32
33
34 public int doStartTag() throws JspException {
35 String value;
36
37 try {
38 value = StringFormat.toSafeJavaString(node.valueOf("./" + name));
39 if(value == null) {
40 value = "";
41 }
42 }
43 catch(Exception e) {
44 value = "";
45 }
46 try {
47 pageContext.getOut().print(value);
48 }
49 catch(IOException e) {
50 throw new JspException(e.getMessage());
51 }
52 return SKIP_BODY;
53 }
54
55
56 public void release() {
57 node = null;
58 name = null;
59 }
60 }
61