null is not a value -- it is the absence of a value. null is not equal to 0, it is not equal to anything. The only thing you can logically do with null is to test for it or not. The empty operator exists for that purpose.
The question I have is not about whether accepting null or empty string is reasonable. Instead there is some specified behaviour in the EL spec (quoted above) and the suspicion that Glassfish does not follow it.
I stumbled over this when preparing for the Servlet&Jsp exam where one has to deal with such lawyer-like issues. In practice - where common sence should rule - I agree with you about null and the same applies also IMHO to the empty string used in numeric expressions. I am missing here the clearness of Java, EL feels a bit like Basic ...
Yes, thank you! That's the answer! In the example above for null the rule I overlooked applies.
A (hopefully) valid example where not only "" but also null is used as number should be some numeric operation. Surprise, surprise :hunf: here there is a different behaviour of Glassfish3 and Tomcat7 when handling "": Glassfish throws an exception: