No, you don't need to know JSTL. In fact, I highly recommend you don't use JSTL on JSF pages at all. If you scan back in this forum, you'll see a lot of questions from people who tried mixing JSF and JSTL and ran into trouble.
JSF and JSTL can be be mixed, but only if you really know what you are doing. In practical terms, however, almost everything that JSTL can do has a much neater solution using only JSF.
Customer surveys are for companies who didn't pay proper attention to begin with.
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