tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Felipe Schnack <feli...@ritterdosreis.br>
Subject Re: registering variables
Date Thu, 12 Sep 2002 20:24:22 GMT
  Thanks for the reply
  But actually what I wanted is to be able to get data from the tag that
uses the ExtraInfo tag. If I got everything right from this
documentation it's impossible. All I can get is the tag's attributes set
in the jsp... pretty useless for what I want to do. I can't get
pagecontext in the ExtraInfo class too...


On Thu, 2002-09-12 at 17:05, Craig R. McClanahan wrote:
> 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>
> 
-- 

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>


Mime
View raw message