This bug was introduced into Tomcat 6.0.16, as a consequence of implementing the EL spec to the letter.
The option to disable this change at command line was added in 6.0.17:
A patch in Tomcat 6.0.24 was added to allow you to change it at run time:
This problem also directly occurs in JSF, as it uses an EL engine as well. There's a patch for 1.2_08-b01 but it is happening in 2.0.2. But the above fix seems to work.
Request to change the JSP Spec
As per chapter 1.18.2 and 1.18.3 of EL spec, EL coerces null values to non-nullAfter some more digging also came across this discussion at stackoverflow.
values such as empty String or (Long) 0 or (Boolean) false. This behaviour is in
almost all cases unwanted when the type is not a primitive.