I'm new to both technologies. Which of them is better or maybe none of them is better or worse because both have something which other don't. What are your suggestions about that. I heard that Struts is slowly going to past. What do you think? Is it still worth to learn it from scratch?
While Spring is very popular for it's model building capabilities, its MVC framework is not as widely used. Struts is by far the most popular MVC web framework in use today. Other frameworks have come along that have promise. JSF has a lot of advantages over Struts, but it's also more complicated and in some ways less flexible. JSF is officially part of the Java EE 5 spec, so that's a big plus in favor of using it.
However, Struts is far from dead. You will see many important and large web sites developed in Struts in the next few years.