If it is a new design and new jsp. well things are ok and easy to follow MVC or etc.,. What about legacy code? When you go for fixing a bug or open existing code, you see logics written there in jsp (based on the capabilities of earlier version of JSP). So If we upgrade to app servers supports JSP2.0, obviously one will try to use EL. In that case, immediatly we can not use it until we refactor the code to MVC model or someother way as mentioned in the above replies. It would have been nice if we are able to use EL code inside scriptlet someway. I think Sun clearly enforces that pure java code should be written inside scriptlet.