So you have an application coded with JSP and Dojo, why you want to rewrite it (assuming it is working)?
It is not logical to say which one is advanced since each one of them is different from the another.
JSP is a template technology, JSTL is a supporting tag library and JSF is a component-based framework.
You are the one to decide what to learn but I can mention a couple:
For that matter, you can use dijit, which is a UI package specifically designed on top of dojo.
An IDE is no substitute for an Intelligent Developer.