One of the practices we follow at my workplace is to create a Constants class to store
string literals that can be referred to throughout the application.
However, this approach encourages the use of scriptlet code in jsps, instead
of JSTL. For example.
If I have a request parameter foo that is being used all over the app. In the non EL world I would use..
<input type="hidden" name="<%= Constants.PARAM_FOO %>" >
But in JSTL I use
<input type="hidden" name="${param.foo}" >
Notice how the
word "foo" is hardcoded in the page now.
We are also encouraging the use of EL and JSTL, but find this in direct
conflict with our old practice of keeping constants in one place.
Is there a way to keep the constants in one place and still use EL?