Olá,
estou precisando integrar em uma aplicação o struts2 junto com o mentawai… A aplicação já rodava perfeitamente com mentawai, porém quando adicionei o struts2 começou a lançar o seguinte erro:
20:59:15,687 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
java.lang.ClassCastException: java.lang.String
at org.mentawai.tag.authentication.RequiresAuthentication.doStartTag(RequiresAuthentication.java:85)
at org.apache.jsp.jsp.sendEstoque_jsp._jspx_meth_mtw_requiresAuthentication_0(org.apache.jsp.jsp.sendEstoque_jsp:189)
at org.apache.jsp.jsp.sendEstoque_jsp._jspService(org.apache.jsp.jsp.sendEstoque_jsp:63)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
Penso que seja em função do filtro exigido pelo struts2:
<filter>
<filter-name>action2-cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
que limpa a pilha ( :?: ), e aí o mentawai se perde… :?
Então, gostaria de saber se alguem já passou por isso, e qual estratégia usou para fazer os dois frameworks conviverem pacificamente.
o meu web.xml esta assim:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- The Mentawai controller -->
<servlet>
<servlet-name>Controller</servlet-name>
<servlet-class>org.mentawai.core.Controller</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- You must choose an extension to indicate a mentawai action -->
<servlet-mapping>
<servlet-name>Controller</servlet-name>
<url-pattern>*.mtw</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>180</session-timeout>
</session-config>
<filter>
<filter-name>action2-cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>action2-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<jsp-config>
<taglib>
<taglib-uri>http://java.sun.com/jstl-el/fmt</taglib-uri>
<taglib-location>/WEB-INF/fmt.tld</taglib-location>
</taglib>
</jsp-config>
</web-app>