You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Dale Newfield <Da...@Newfield.org> on 2008/01/28 19:20:43 UTC

Re: [struts] tag writers resources?

Joachim Ansorg wrote:
> writing a simple Struts2 tag is not that difficult.

A Tag is simply a java interface:
http://java.sun.com/javaee/5/docs/api/javax/servlet/jsp/tagext/Tag.html

The life cycle of a tag is discussed in that javadoc.

There are a number of classes that make implementing your own pretty 
straight forward.  You'll probably be interested in "BodyTagSupport".

-Dale

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: [struts] tag writers resources?

Posted by Joachim Ansorg <ja...@ksi.gr>.
Dale,
this is useful information for me. Thanks for pointing this out.
I'll make use of this class, I think.

Joachim
> P.P.S:  If your question is really "how do i evaluate tag arguments 
> that are really ognl expressions, then TagUtils.getStack() is probably 
> what you're looking for:
> http://struts.apache.org/2.x/struts2-core/apidocs/org/apache/struts2/views/jsp/TagUtils.html 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: [struts] tag writers resources?

Posted by Dale Newfield <Da...@Newfield.org>.
Darren James wrote:
> What I was more interested in is some guidelines similar to what
> Joachim posted in writing a "struts2" tag.  And by that I mean one of
> those generic, technology independent beasts that can be used in
> Freemarker and Velocity as well as JSP.

I don't know how one writes freemarker tags or velocity tags.  I haven't 
studied Joachim's example in detail, but it didn't appear to be 
answering your question.  It appeared to me that it was an example of 
"how to write a tag that is implemented by freemarker" rather than "how 
to write a tag that is callable from freemarker".

If you're going to have a theme system, and want to be able to swap out 
templates at will, this is a reasonable solution.  If you just want a 
standard tag, I see no reason to call on a templating system inside the tag.

You should also be aware that the simplest way to implement a 
templatable tag (using jsp) is using a .tag file and a tagdir.  No java 
code required.

-Dale

P.S.:  Potentially useful pages if you need to call this tag from 
freemarker or velocity:

http://freemarker.org/docs/dgui_misc_userdefdir.html
http://velocity.apache.org/engine/releases/velocity-1.5/user-guide.html#velocimacros

P.P.S:  If your question is really "how do i evaluate tag arguments that 
are really ognl expressions, then TagUtils.getStack() is probably what 
you're looking for:
http://struts.apache.org/2.x/struts2-core/apidocs/org/apache/struts2/views/jsp/TagUtils.html

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: [struts] tag writers resources?

Posted by Darren James <jd...@netflix.com>.
Hi Dale,

Yes, i'm familiar with writing JSP tags, although it's been quite
some time since i've done so.  It took me about 1/2 an hour to
dust off the cobwebs and write a JSP tag extending BodyTagSupport
that did what I wanted it to do.

What I was more interested in is some guidelines similar to what Joachim
posted in writing a "struts2" tag.  And by that I mean one of those generic,
technology independent beasts that can be used in Freemarker and Velocity
as well as JSP.

thanks,

- Darren.

Dale Newfield wrote:
>
> Joachim Ansorg wrote:
> > writing a simple Struts2 tag is not that difficult.
>
> A Tag is simply a java interface:
> http://java.sun.com/javaee/5/docs/api/javax/servlet/jsp/tagext/Tag.html
>
> The life cycle of a tag is discussed in that javadoc.
>
> There are a number of classes that make implementing your own pretty
> straight forward.  You'll probably be interested in "BodyTagSupport".
>
> -Dale
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org