There are in fact many instances where a Struts tag and JSTL tag will perform equivalent functions. In such a case, I prefer the JSTL tag over the Struts tags because JSTL is a more standard part of the
J2EE specification and also because they tend to be more powerful.
There are certain Struts tags, such as the html:xxx tags that have no equivalent in JSTL.