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:[EMAIL PROTECTED]]
> >>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:[EMAIL PROTECTED]]
> >>>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
> >>>[EMAIL PROTECTED]
> >>>Cel.: (51)91287530
> >>>Linux Counter #281893
> >>>
> >>>Faculdade Ritter dos Reis
> >>>www.ritterdosreis.br
> >>>[EMAIL PROTECTED]
> >>>Fone/Fax.: (51)32303328
> >>>
> >>>
> >>>--
> >>>To unsubscribe, e-mail:
> >>><mailto:[EMAIL PROTECTED]>
> >>>For additional commands, e-mail:
> >>><mailto:[EMAIL PROTECTED]>
> >>>
> >>>--
> >>>To unsubscribe, e-mail:
> >>>
> >>>
> >><mailto:[EMAIL PROTECTED]>
> >>
> >>
> >>>For additional commands, e-mail:
> >>>
> >>>
> >><mailto:[EMAIL PROTECTED]>
> >>
> >>
> >>--
> >>
> >>Felipe Schnack
> >>Analista de Sistemas
> >>[EMAIL PROTECTED]
> >>Cel.: (51)91287530
> >>Linux Counter #281893
> >>
> >>Faculdade Ritter dos Reis
> >>www.ritterdosreis.br
> >>[EMAIL PROTECTED]
> >>Fone/Fax.: (51)32303328
> >>
> >>
> >>--
> >>To unsubscribe, e-mail:
> >><mailto:[EMAIL PROTECTED]>
> >>For additional commands, e-mail:
> >><mailto:[EMAIL PROTECTED]>
> >>
> >>--
> >>To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
> >>For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
> >>
> >>
> >>
>
>
>
>
> --
> To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
>
--
Felipe Schnack
Analista de Sistemas
[EMAIL PROTECTED]
Cel.: (51)91287530
Linux Counter #281893
Faculdade Ritter dos Reis
www.ritterdosreis.br
[EMAIL PROTECTED]
Fone/Fax.: (51)32303328
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>