No dont learn struts first. I started a project learning struts and it was just to hard, we switched to JSF reference impl and it was so easy to pick up. And I thing JSF is the way it is going.
Oracle corp is puting its weight behind the JSF standard.... their oracle ADF faces is unlike anything iv ever seen in web development.
Struts is even going with JSF. The next major Struts release will use JSF for the view and a modified JSF/Struts meshed backend system for navigation, validation, etc.
There's not a whole lot of similarity in how Struts does things compared to JSF, so learning Struts first isn't going to help much, and might even confuse.
JSF's Weltanschaung is more about MVC and Struts is more about workflows.
Neither, alas, is anywhere close to the ideal, but at least they're steps in the right general direction.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.