They all really compliment each other. Here's how:
-Struts is a framework, or better yet, it's an implementation of the MVC design
pattern -JSF is collection of objects for creating server-side GUI components
-JSTL is used for presentation logic
All of them can/will work together.
Sue