Re: New Additions to Template.js

"Maksim Lin for technical support mailling lists" <[email protected]>
Newsgroups gmane.comp.java.helma.general
Message-ID <[email protected]>
Hi juerg,

Sorry for the slow reponse - have been away from office for a couple of days.
 
> > Being able to access the value of the loop counter would be 
> very handy 
> > - perhaps you could maek a builtin "counter variabel like velocity 
> > uses?
> 
> This is implemented now, on the base of the variable name, 
> and in a way that even when you have two nested loops using 
> the same variable name, it would still produce the expected 
> result. This is how it works right now. Any suggestions are welcome:
> 
> <% foreach $item in param.list %>
>         <%= $item#index %>
>         <%= $item#length %>
>         <%= $item#isFirst %>
>         <%= $item#isLast %>
> <% end %>

Eacellant! I'll grab the latest copy from the wiki and try it out.
 
> No variables are produced that are not needed. In fact, these 
> special variables are discovered and then replaced with the 
> proper code. Have a look at parseLoopVariables in the source 
> code to see what I mean.

Yes I think I know what you mean. And I have to say I'm quite impressed with the speed tests I did with earlier versions of the JSTL so I'm keen to try them again with the new version.

> I have added two more experimental ones, not sure if they are needed: 
> #even, #odd. I also just noticed they should probably be 
> called #isEven, #isOdd?

I guess I might use them to do nice table row colours with class atrribute and CSS...

> > Also I think it is useful to have functionality to iterate over 
> > objects (hashs) as well as Arrays, since often I want to didpaly a 
> > html table or list of values of an object and I don't worry about 
> > ordering/sorting it.
> 
> That's good to know, I will add it again then. #length and 
> #isLast will not work on these loops though.

As expected so no probs there.

> > Also Juerg, would it be possible to agree on freezing on a 
> particular 
> > version of the syntax? as I currently have a project 
> underway where I 
> > am using JTSL and another about to begin and would like to have a 
> > 'stable' version on which I could depend on rather then 
> having to keep 
> > going back and updating my templates.
> 
> I understand... But you should also understand that 
> Template.js was allways there to be a testbed for me to try 
> out templating stuff. As the old version works for your 
> project, there is actually no real need to update it, except 
> that if you want to be able to take advante of the new stuff.
> 
> Having said that, I am not intersted in too many changes 
> myself either, as I have projects based on it too. I just 
> felt the need to make some changes in the design decisions, 
> and tried to make this with as little impact on existing 
> templates as possible.

That's fair enough Juerg you did say several times that it was just for your experimentation - I just found them so useful that I went ahead ans started using them anyway. Its good to know that it should be fairly stabel form now on and your right - I will just keep using the version I need for particaulr apps, its just it will be easier to stick to one version over some time.

> The things that I broke:
> 
> - Nested content is gone. No more <% >...</%>. Is that bad? 
> Should it be back? It wouldn't be hard. As Hannes said, the 

No - I personally never used (or will) nested content.

> nested stuff could be passed in param.nested. The only place 
> I've used this was for sub templates, and that now works in 
> the Helma way. Which brings us to:
> - Sub Templates: Ditto
> - Local variable names need to have $ preprended.
> 
> Note that although I don't use the parantheses for "foreach", 
> "if", "elseif" any longer, you still can if you like that 
> syntax better.
> 
> That's it for now.
> 
> The site is update with new explanations and code.

Brillant! - thanks again for all your hard work implementing JSTLs Juerg.

Maks.

> Jürg
> _______________________________________________
> Helma-user mailing list
> [email protected]
> http://helma.org/mailman/listinfo/helma-user
> 
> 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.