As mentioned previously, Spring Portlet MVC directly reuses all
the view technologies from Spring Web MVC. This includes not only the
various View
implementations themselves,
but also the ViewResolver
implementations.
For more information, refer to Chapter 16, View technologies and
Section 15.5, “Resolving views” respectively.
A few items on using the existing View
and
ViewResolver
implementations are worth mentioning:
Most portals expect the result of rendering a portlet to be an HTML fragment. So, things like JSP/JSTL, Velocity, FreeMarker, and XSLT all make sense. But it is unlikely that views that return other document types will make any sense in a portlet context.
There is no such thing as an HTTP redirect from
within a portlet (the sendRedirect(..)
method of
ActionResponse
cannot
be used to stay within the portal). So, RedirectView
and use of the 'redirect:'
prefix will
not work correctly from within Portlet MVC.
It may be possible to use the 'forward:'
prefix from
within Portlet MVC. However, remember that since you are in a
portlet, you have no idea what the current URL looks like. This
means you cannot use a relative URL to access other resources in
your web application and that you will have to use an absolute
URL.
Also, for JSP development, the new Spring Taglib and the new Spring Form Taglib both work in portlet views in exactly the same way that they work in servlet views.