There's a great demand for information on creating Struts and
JSF portlets. I put together a few tutorials on how to build them. You can find the tutorials here:
Building Struts and Java Server Faces (JSF) JSR168 Portlets Basically, the JSR168 API is very similar to the
Servlet and
JSP API, providing facilities for handling a request and response from a client, and managing data with a PortletSession. However, the JSR168 API doesn't provide any built in facilities for form handilng, error feedback, memento patterning, or even multi-page, multi-state application management (nor does the Servlet and JSP API). For handingl these things, frameworks like Struts and JSF have emerged.
Basically, a JSF or Struts portlet simply leverages the Struts or JSF framework, allowing a developer to create a Struts or JSF application, with all of the benefits of JSF or Struts, but fundamentally, delpoy that application as a portlet.
Hope that helps!
-Cameron McKenzie