Thanks Adrian,
I tried to send you a msg directly but got
This is an automatically generated Delivery Status Notification.
Delivery to the following recipients is still underway after 20.3 hour(s):
* [email protected]
Will keep trying and contact you if the message can't be delivered permanently.
I suppose it's a one way address
Jacques
From: "Adrian Crum" <[email protected]>
http://jcp.org/aboutJava/communityprocess/final/jsr245/
Click on one of the Download links, accept the terms, then download the
file marked:
JavaServer Pages 2.1 Expression Language Specification (pdf)
-Adrian
Jacques Le Roux wrote:
Thanks for clarification Adrian,
I must admit the information in
http://java.sun.com/products/jsp/reference/techart/unifiedEL.html are
not quite clear :/
I think I got most it though, is there a better reference ?
I did a bunch of change. I guess now that most of them were correct, but
as I had a doubt I reverted them all but the one I was sure. Anyway I
will re-do some
Jacques
From: "Adrian Crum" <[email protected]>
Jacques,
UEL supports ternary operations. So,
<set field="parameters.debitTotal" value="${bsh:(showDebit? (debitTotal
+ absolutePostedBalance): (debitTotal))}" type="BigDecimal"/>
becomes
<set field="parameters.debitTotal" value="${showDebit ? (debitTotal +
absolutePostedBalance) : debitTotal}" type="BigDecimal"/>
Also, the reason for the UEL function name prefix (math: str: util:) is
the same reason we have Java package names and XML namespaces - to avoid
function name clash.
-Adrian
Jacques Le Roux wrote:
Hi Adrian,
Is {util: syntax also dealing with ternary operator (did not look into
details, doing some {bsh: to {util: changes while changing(/adding) type
from "Double" to "BigDecimal" as David suggested recently
Thanks
Jacques
From: "Adrian Crum" <[email protected]>
Now that we have the Unified Expression Language implemented in
FlexibleStringExpander, we gain the ability to use UEL functions.
On the plus side, UEL functions can make screen widget and
mini-language code more flexible and more powerful. On the minus side,
you have to know the functions and what they do (in other words, no
auto-completion when working in XML).
As an example, I frequently need to know the size of a List, Map, or
String. With current code, I have to use the bsh: prefix and a short
script:
<set field="mapSize" value="${bsh:uiLabelMap.size();}"
type="Integer"/>.
Using a UEL function:
<set field="mapSize" value="${util:size(uiLabelMap)}" type="Integer"/>
or to get the length of a String:
<set field="stringSize" value="${util:size(uiLabelMap.CommonParty)}"
type="Integer"/>.
I don't know if this would be of any use, or if it is desirable. I'm
just tossing the idea out there for discussion.
-Adrian