tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig R. McClanahan" <craig...@apache.org>
Subject Re: registering variables
Date Thu, 12 Sep 2002 20:05:25 GMT
Felipe,

You would probably make progress faster by working your way through a
tutorial on building custom tags.  One such document is included in the
tutorial for the Java Web Services Developer Pack:

  http://java.sun.com/webservices/docs/1.0/tutorial/index.html

In particular, you'll want to read "Custom Tags in JSP Pages", and the
section there called "Cooperating Tags".  It sounds like you might find
the various topics on servlet and JSP programming, as well as web
applications, useful in order to get grounded in the fundamentals.

Although the tutorial uses JWSDP to run its examples, the concepts all
apply to development for Tomcat use directly as well.

Craig

On 12 Sep 2002, Felipe Schnack wrote:

> Date: 12 Sep 2002 16:59:44 -0300
> From: Felipe Schnack <felipes@ritterdosreis.br>
> Reply-To: Tomcat Users List <tomcat-user@jakarta.apache.org>
> To: Tomcat Users List <tomcat-user@jakarta.apache.org>
> Subject: Re: registering variables
>
>   I still can't understand this very well.
>   data.getAttributeString("name") should return the value of the "name"
> attribute of the taglib, right?
>
> On Thu, 2002-09-12 at 15:24, Nic Holbrook wrote:
> > Yes, this can be done.
> >
> > Tag example
> >
> > import javax.servlet.jsp.*;
> > import javax.servlet.jsp.tagext.*;
> > import java.io.*;
> >
> > public class Dummy extends BodyTagSupport
> > {
> >     protected String name;
> >     protected boolean result;
> >
> >     public Dummy()
> >     {
> >         initValues();
> >     }
> >     public void release()
> >     {
> >         initValues();
> >     }
> >     private void initValues()
> >     {
> >         name = "";
> >         result = false;
> >     }
> >
> >     public void setResult(boolean result)
> >     {
> >         this.result = result;
> >     }
> >     public boolean getResult()
> >     {
> >         return result;
> >     }
> >
> >     public void setName(String p1)
> >     {
> >         name = p1;
> >     }
> >     public String getName()
> >     {
> >         return name;
> >     }
> >
> >     public int doStartTag() throws JspTagException
> >     {
> >         pageContext.setAttribute(name, new Boolean(result));
> >         return(BodyTag.EVAL_BODY_BUFFERED);
> >     }
> > }
> >
> > Example Tag Extra Info
> >
> >
> > import javax.servlet.jsp.*;
> > import javax.servlet.jsp.tagext.*;
> >
> > public class DummyExtraInfo extends TagExtraInfo
> > {
> >     public static final String ATTRIB_NAME = "name";
> >     public static final String ATTRIB_TYPE = "java.lang.Boolean";
> >
> >     public VariableInfo[] getVariableInfo(TagData data)
> >     {
> >         if(data.getAttributeString(ATTRIB_NAME) != null)
> >         {
> >             VariableInfo info = new
> > VariableInfo(data.getAttributeString(ATTRIB_NAME), ATTRIB_TYPE, true,
> > VariableInfo.AT_BEGIN);
> >             return new VariableInfo[] { info };
> >         }
> >         else
> >         {
> >             return new VariableInfo[] {};
> >         }
> >     }
> > }
> >
> >
> > Hope this is what you were looking for.
> >
> > Later
> >
> > Nic
> >
> > Felipe Schnack wrote:
> >
> > >  Well, actually I'm talking about the TagExtraInfo. With it, you can
> > >register variables in the tag scope... I would like to dinamically
> > >create these variables.
> > >  I will not enter in details of why I want to do that, but it's
> > >relative to data access...
> > >  It's possible or not? Maybe I can make a TagExtraInfo that grabs data
> > >from it related tag? That's possible? I mean, you have an
> > >"DoSomethingTag" and a "DoSomethingExtraInfoTag". It's possible to
> > >"DoSomethingExtraInfoTag" access ""DoSomethingTag" data?
> > >
> > >On Thu, 2002-09-12 at 12:36, Andreas Mohrig wrote:
> > >
> > >
> > >>I don't know Struts, but if it is possible to register variables in other
> > >>scopes with the help of Struts it gives me the creeps/makes me shudder and
> > >>would not shine a good light on Java as a programming language. Why should
> > >>you want to register a variable in the first place? Java is good for
> > >>encapsulation and information hiding. Data transport can be managed via
> > >>return values of method calls or if there is absolutely no other way over
> > >>global contexts (which is frightful by itself). What you are talking about
> > >>would undermine the foundations of the Java programming language (in my
> > >>humble opinion as a programmer). But I'm willing to learn and to broaden
my
> > >>perspective, so if you have a case where it is absolutely necessary (or
even
> > >>practically/elegant or otherwise useful) to do what you want to do, please
> > >>let me know about it.
> > >>
> > >>Andreas Mohrig
> > >>
> > >>-----Original Message-----
> > >>From: Felipe Schnack [mailto:felipes@ritterdosreis.br]
> > >>Sent: Thursday, September 12, 2002 5:16 PM
> > >>To: Tomcat Users List
> > >>Subject: RE: registering variables
> > >>
> > >>
> > >>  Ok, but this is an attribute, not an variable really. There isn't a
> > >>way I can register a variable? Like in Strut's TE tags?
> > >>
> > >>On Thu, 2002-09-12 at 11:57, Andreas Mohrig wrote:
> > >>
> > >>
> > >>>You could put it in the pageContext (or even in the session or application
> > >>>context). That will require some syntactic clutter (first
> > >>>	pageContext.setAttribute("variableName",objectVariable);
> > >>> then (in the jsp page)
> > >>>      ObjectType myVariable =
> > >>>(ObjectType)pageContext.getAttribute("variableName",objectVariable);
> > >>>)
> > >>>and opens the possibilitie of errors that are hard to debug (what if
there
> > >>>is already an attribute with that name?) but is much safer than directly
> > >>>creating variables in other scopes. It is one of javas merits that this
is
> > >>>not possible (at least not to my knowledge).
> > >>>
> > >>>greetings
> > >>>
> > >>>Andreas Mohrig
> > >>>
> > >>>-----Original Message-----
> > >>>From: Felipe Schnack [mailto:felipes@ritterdosreis.br]
> > >>>Sent: Thursday, September 12, 2002 4:42 PM
> > >>>To: Tomcat Users List
> > >>>Subject: registering variables
> > >>>
> > >>>
> > >>>  How can I create an variable within an taglib? I would like to be
able
> > >>>to create an variable accesible to my jsp page.
> > >>>
> > >>>--
> > >>>
> > >>>Felipe Schnack
> > >>>Analista de Sistemas
> > >>>felipes@ritterdosreis.br
> > >>>Cel.: (51)91287530
> > >>>Linux Counter #281893
> > >>>
> > >>>Faculdade Ritter dos Reis
> > >>>www.ritterdosreis.br
> > >>>felipes@ritterdosreis.br
> > >>>Fone/Fax.: (51)32303328
> > >>>
> > >>>
> > >>>--
> > >>>To unsubscribe, e-mail:
> > >>><mailto:tomcat-user-unsubscribe@jakarta.apache.org>
> > >>>For additional commands, e-mail:
> > >>><mailto:tomcat-user-help@jakarta.apache.org>
> > >>>
> > >>>--
> > >>>To unsubscribe, e-mail:
> > >>>
> > >>>
> > >><mailto:tomcat-user-unsubscribe@jakarta.apache.org>
> > >>
> > >>
> > >>>For additional commands, e-mail:
> > >>>
> > >>>
> > >><mailto:tomcat-user-help@jakarta.apache.org>
> > >>
> > >>
> > >>--
> > >>
> > >>Felipe Schnack
> > >>Analista de Sistemas
> > >>felipes@ritterdosreis.br
> > >>Cel.: (51)91287530
> > >>Linux Counter #281893
> > >>
> > >>Faculdade Ritter dos Reis
> > >>www.ritterdosreis.br
> > >>felipes@ritterdosreis.br
> > >>Fone/Fax.: (51)32303328
> > >>
> > >>
> > >>--
> > >>To unsubscribe, e-mail:
> > >><mailto:tomcat-user-unsubscribe@jakarta.apache.org>
> > >>For additional commands, e-mail:
> > >><mailto:tomcat-user-help@jakarta.apache.org>
> > >>
> > >>--
> > >>To unsubscribe, e-mail:   <mailto:tomcat-user-unsubscribe@jakarta.apache.org>
> > >>For additional commands, e-mail: <mailto:tomcat-user-help@jakarta.apache.org>
> > >>
> > >>
> > >>
> >
> >
> >
> >
> > --
> > To unsubscribe, e-mail:   <mailto:tomcat-user-unsubscribe@jakarta.apache.org>
> > For additional commands, e-mail: <mailto:tomcat-user-help@jakarta.apache.org>
> >
> --
>
> Felipe Schnack
> Analista de Sistemas
> felipes@ritterdosreis.br
> Cel.: (51)91287530
> Linux Counter #281893
>
> Faculdade Ritter dos Reis
> www.ritterdosreis.br
> felipes@ritterdosreis.br
> Fone/Fax.: (51)32303328
>
>
> --
> To unsubscribe, e-mail:   <mailto:tomcat-user-unsubscribe@jakarta.apache.org>
> For additional commands, e-mail: <mailto:tomcat-user-help@jakarta.apache.org>
>
>


--
To unsubscribe, e-mail:   <mailto:tomcat-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:tomcat-user-help@jakarta.apache.org>


Mime
View raw message