You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Ed Knutson <EK...@laughlin.com> on 2007/07/19 19:35:01 UTC

WebSphere 6.0 Sitemesh plugin issue

I am building an application using Struts 2.0.8 on a WebSphere 6.0.2.17 ND server.  Another application on this server uses Webwork 2.2 with Spring and Sitemesh 2.3 and I was hoping the transition to Struts 2 would be relatively smooth.  This app server uses the 1.4.2 JVM and I am using the j4 binaries.

I ran the Spring and Sitemesh plugin jars through retrotranslator.  The logs show the overall system initializing properly, including Spring integration.  However, I get the following error when trying to access a page:


SRVE0026E:
[Servlet Error]-[Filter [sitemesh]: Could not find required filter class - org.apache.struts2.sitemesh.TemplatePageFilter.class]:
java.lang.ClassNotFoundException: class org.apache.struts2.sitemesh.TemplatePageFilter :
java.lang.InstantiationException
       at java.beans.Beans.instantiate(Beans.java:223)
       at java.beans.Beans.instantiate(Beans.java:63)
       at com.ibm.ws.webcontainer.filter.WebAppFilterManager._loadFilter(WebAppFilterManager.java:315)
       at com.ibm.ws.webcontainer.filter.WebAppFilterManager.loadFilter(WebAppFilterManager.java:283)
       at com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterInstanceWrapper(WebAppFilterManager.java:153)
       at com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterChain(WebAppFilterManager.java:201)
       at com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.invokeFilters(WebExtensionProcessor.java:255)
[...]


This file is indeed in the retrotranslated jar which was placed in WEB-INF/lib.  I also tried unjarring into WEB-INF/classes, as well as commenting out the single @Inject annotation in the source for this class and compiling it using JDK 1.4.  In all cases I get the same ClassNotFoundException.  For now, I replaced this section in the web.xml:

<filter>
    <filter-name>sitemesh</filter-name>
    <filter-class>org.apache.struts2.sitemesh.TemplatePageFilter</filter-class>
</filter>

with this:

<filter>
    <filter-name>sitemesh</filter-name>
    <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
</filter>


The pages then load correctly.  However, my understanding is that I won't be able to access the Struts 2 context from the decorator files if I don't use the plugin.  Has anyone else had this issue, or been able to run Struts 2 + Sitemesh on WebSphere 6.0?


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org