You don't need prior knowledge of Struts 1, but you do need to know OOP and Java. Knowing the Servlet API is definitely a plus even though a Struts programmer rarely has to write a servlet anymore. JSP is optional because Struts 2 supports other technologies for the view.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com