To make it more simple, each time you have to decide between bundling them in the same project or not, you should answer the question : "Is it a good idea having to deploy all these portlets Together in EVERY Portal ?"
- Develop one portlet per page in liferay portal or more per page ?
Not sure if you're talking about instance able portlets, or a complex form that can could be splitted in different portlets. If all the forms in that page are meant to interact with each other, you better move them in the same portlet, because inter-portlet communication is an issue.
Now, about the Framework, there can be no definite answer on that. Every framework has it's benefits and fan base. I find LiferayMVC convenient for very simple portlets (a few pages, with simple controls that will work out of the box, and a small total number of actions). For every other case, I'd recommend JSF for the following reasons:
- It's suitable for large projects with a complex back-end or lots of pages.
- It's better for forms that are demanding, of too custom or too ajax/javascript heavy. JSF tag libraries like primefaces are powerful, complete, well documented, and with better community support, compared to JSP libraries
- Lots of times, I find it impossible to write a clean jsp page, without having huge java and javascript chunks of code, mixed up with html. The jsf/xhtml pages can be much cleaner.
- Maybe it's just me, but I find myself writing better and more elegant code when using JSF. I also find it easier to refactor, and design my architecture.