I used the JSTL stuff last year, and ended up hating that expression language for the bugs it gave me that took ages to track down.
EL says 'if something evals to null, the statement evaluates to empty'. Typos turn expressions to null. Errors in your java code where things are initialized and return null, turn expressions to null. Which makes it really hard to track down where is the error in employee.401k.provider.address.zipCode
For all the expressiveness of the language, if it is hard to develop working code, I dont see the point.