Hi, Thank you. I know, I realized I made a typo. It should be:
@Property Object tempValue <t:loop source=“countries” value=“tempValue”> ${tempValue.getName(locale)} - ${getPopulation(tempValue)} </t:loop> I think var prefix is a great addition, but it should be able to use var in property expression, and not only as single read write property storage. Numa > Le 27 mai 2021 à 09:55, Chris Poulsen <mailingl...@nesluop.dk> a écrit : > > We never really use much of the expression language, so I can't comment on > that. > > This is just a comment on the last example: I'm not sure that you need a > @Property when using the "var:" prefix (if you have a backing property it > ought to be a "prop:" binding, as far as I understand) > > -- > Chris > > > > On Wed, May 26, 2021 at 12:00 PM Numa Schmeder <n...@dfacto.ch > <mailto:n...@dfacto.ch>> wrote: > >> Hello, >> >> It seems method with varargs doesn’t work with property expression. >> If I put the following property expression, I get an error: Message >> doesn’t have a public “format" method. >> ${messages.format('priceFromPerGuest', travelMinPricePerGuest, >> displayedCurrency)} >> But If I write it as follow is works: >> messages.format('priceFromPerGuest', [travelMinPricePerGuest, >> displayedCurrency]) >> >> Is this a bug ? >> >> Tapestry property expression is a bit limiting, particularly in conditions >> where you can’t have logical expression as: test=“size > 10” >> >> I know the rational is to keep property expression as simple as possible, >> but having some logic expressed in the template is not that bad, because >> it’s in context ans sometimes makes more sense than having everything in >> java code. >> >> Also if you work a lot with collection of objects, you have to create a >> property for each type of element in the collections, the “var” keyword is >> not powerful to be used in complex property expressions. >> Exemple, this won’t work, but it would be very practical: >> <t:loop source=“countries” value=“var:country”> >> ${var:country.getName(locale)} - ${getPopulation(var:country)} >> </t:loop> >> >> And if you use a generic property tempValue that you could reuse in >> different places, it won’t work because all conduits will be based on the >> Object Type and not Country type. >> >> @Property >> Object tempValue >> >> <t:loop source=“countries” value=“var: tempValue”> >> ${tempValue.getName(locale)} - ${getPopulation(tempValue)} >> </t:loop> >> >> Could we find a solution to avoir creating a lot of fields for all loops ? >> >> Thank you for your help, >> >> Best! >> >> >> <http://www.dfacto.ch/ <http://www.dfacto.ch/>> Numa Schmeder >> www.dfacto.ch <http://www.dfacto.ch/> < >> http://www.dfacto.ch/ <http://www.dfacto.ch/>> >> n...@dfacto.ch <mailto:n...@dfacto.ch> <mailto:n...@dfacto.ch >> <mailto:n...@dfacto.ch>> | M +41 79 538 30 01 >> >> DIGITAL STRATEGY | DESIGN | DEVELOPMENT