KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > ebank > web > template > DefinitionTag


1 /*
2  * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved. U.S.
3  * Government Rights - Commercial software. Government users are subject
4  * to the Sun Microsystems, Inc. standard license agreement and
5  * applicable provisions of the FAR and its supplements. Use is subject
6  * to license terms.
7  *
8  * This distribution may include materials developed by third parties.
9  * Sun, Sun Microsystems, the Sun logo, Java and J2EE are trademarks
10  * or registered trademarks of Sun Microsystems, Inc. in the U.S. and
11  * other countries.
12  *
13  * Copyright (c) 2004 Sun Microsystems, Inc. Tous droits reserves.
14  *
15  * Droits du gouvernement americain, utilisateurs gouvernementaux - logiciel
16  * commercial. Les utilisateurs gouvernementaux sont soumis au contrat de
17  * licence standard de Sun Microsystems, Inc., ainsi qu'aux dispositions
18  * en vigueur de la FAR (Federal Acquisition Regulations) et des
19  * supplements a celles-ci. Distribue par des licences qui en
20  * restreignent l'utilisation.
21  *
22  * Cette distribution peut comprendre des composants developpes par des
23  * tierces parties. Sun, Sun Microsystems, le logo Sun, Java et J2EE
24  * sont des marques de fabrique ou des marques deposees de Sun
25  * Microsystems, Inc. aux Etats-Unis et dans d'autres pays.
26  */

27
28
29 package com.sun.ebank.web.template;
30
31 import javax.servlet.jsp.JspTagException JavaDoc;
32 import javax.servlet.jsp.PageContext JavaDoc;
33 import javax.servlet.jsp.tagext.SimpleTagSupport JavaDoc;
34 import java.util.*;
35
36
37 public class DefinitionTag extends SimpleTagSupport JavaDoc {
38     private String JavaDoc definitionName = null;
39     private String JavaDoc screenId;
40     private HashMap screens = null;
41
42     public DefinitionTag() {
43         super();
44     }
45
46     public HashMap getScreens() {
47         return screens;
48     }
49
50     public void setName(String JavaDoc name) {
51         this.definitionName = name;
52     }
53
54     public void setScreen(String JavaDoc screenId) {
55         this.screenId = screenId;
56     }
57
58     public void doTag() {
59         try {
60             screens = new HashMap();
61
62             getJspBody()
63                 .invoke(null);
64
65             Definition definition = new Definition();
66             PageContext JavaDoc context = (PageContext JavaDoc) getJspContext();
67             ArrayList params = (ArrayList) screens.get(screenId);
68             Iterator ir = null;
69
70             if (params != null) {
71                 ir = params.iterator();
72
73                 while (ir.hasNext())
74                     definition.setParam((Parameter) ir.next());
75
76                 // put the definition in the page context
77
context.setAttribute(definitionName, definition,
78                     context.APPLICATION_SCOPE);
79             } else {
80                 Debug.println("DefinitionTag: params are not defined.");
81             }
82         } catch (Exception JavaDoc ex) {
83             ex.printStackTrace();
84         }
85     }
86 }
87
Popular Tags