There is nothing inherently "wrong" with using Struts and JSTL tags in the same JSP. They are, after all, just custom tags. However, the Struts documentation recommends using JSTL in favor of any Struts-specific tags that overlap JSTL tag functionality. This includes most of the logic and bean tags. For example, you should favor c:forEach over logic:iterate and cut or EL in favor of bean:write. On the other hand, the html tags have no JSTL equivalent.