It's been some time since I have progressed beyond displaying "Hello World" on a JSR-168 portlet and going on to navigation between JSPs and saving information through forms. At this stage I can think of using the data collected and sending it to the business layer.
It requires you to download a zip file which contains several example wars for portlets using Struts. So far so good. But I go on to discover that after importing the wars as projects under RAD v.6, only the ones using the IBM portlet API work. The one sole example that uses the JSR-168 api doesn't show anything apart from the portlet description on the header. The page content is blank. I discovered an exception trace on the server console which goes something like:
[1/12/06 14:37:27:031 IST] 131f43e7 ServletInstan E SRVE0100E: Did not realize init() exception thrown by servlet Struts Standard Blank: javax.servlet.UnavailableException: Exception during portlet initialization: java.lang.NoClassDefFoundError: com/ibm/wps/struts/pluto/base/ErrorInfo at com.ibm.wps.pe.pc.std.core.PortletServlet$PortletClone.<init>(PortletServlet.java:409) .... .. .
This is when I did not even touch the code of that example app and just ran it as is. Don't know what this exception is about...tried looking for the unavailable class "com.ibm.wps.struts.pluto.base.ErrorInfo" in the library jars but couldn't find it.
I know there is nothing wrong with the IDE itself (RAD v.6) because I have developed some non-Struts examples which work..
If you go to the StringBeans site (www.nabh.com), one of the developers wrote an article about using Struts for portlet development, and they have code you can download (it is also one of the portlets distributed with StringBeans). Just look for anything about MVCPortlet.