in reply to Tag libs for Template Toolkit

I'd say the CGI plugin is better than something like this too: <html:text property="user"/> b/c the attributes match up better; property? "What HTML attribute is that?" one might ask. Here's the CGI TT2 for it.

[% USE CGI # goes anywhere %] [% CGI.textfield( name => 'user' ) %]
Another advantage being you can embed all the attr you want.
[% CGI.textfield( name => 'user', onmouseover => 'this.focus()', style => 'width:12em;', default => user_obj.user || CGI.param('user') ) %]

Also, check out how to do WRAPPERs, INCLUDEs, and define your own FILTERs. TT2 is *extremely* powerful for what it will let you do in those regards. In fact this got me a bit excited to spark up more sharing of this stuff. I'll try to post a handful of the TT2 snippets/wrappers I use in a day or two.