According to the spring plugin documentation [1] you need to setup
following constant in your struts config.

<constant name="struts.objectFactory" value="spring" />


Best Regards

Johannes

[1] https://cwiki.apache.org/confluence/display/WW/Spring+Plugin


#################################################
web: http://www.jgeppert.com
twitter: http://twitter.com/jogep


2015-03-02 7:32 GMT+01:00 bavon mike <bavom...@gmail.com>:

> I am trying to configure spring plugin with strut 2 application, which is
> already running with convention plugin, so am using annotations. Am using
> ExtJs for my form submission which was initially working well until i
> introduced the spring plugin, now the the ajax request cannot locate the
> actions and its even not showing any response in firebug. I have tried
> searching the net, but i cant find solution of how to successfully
> configure strut2 convention plugin using annotation with struts-spring
> plugin. Currently this is what i have
>
> *pom.xml*
>
> <!-- struts 2 dependencies -->
> <dependency>
>     <groupId>org.apache.struts</groupId>
>     <artifactId>struts2-core</artifactId>
>     <version>${struts2.version}</version>
> </dependency>
>
> <dependency>
>     <groupId>org.apache.struts</groupId>
>     <artifactId>struts2-convention-plugin</artifactId>
>     <version>${struts2.version}</version>
> </dependency>
>
> <dependency>
>     <groupId>org.apache.struts</groupId>
>     <artifactId>struts2-json-plugin</artifactId>
>     <version>${struts2.version}</version>
> </dependency>
>
> <dependency>
>     <groupId>org.apache.struts</groupId>
>     <artifactId>struts2-spring-plugin</artifactId>
>     <version>${struts2.version}</version>
> </dependency>
>
> <!-- Import the CDI API -->
> <dependency>
>     <groupId>org.apache.struts</groupId>
>     <artifactId>struts2-cdi-plugin</artifactId>
>     <version>${struts2.version}</version>
> </dependency>
> <dependency>
> <groupId>javax.enterprise</groupId>
>     <artifactId>cdi-api</artifactId>
>     <version>1.0-SP1</version><!--$NO-MVN-MAN-VER$-->
>     <scope>provided</scope>
> </dependency>
>
> <!-- Spring framework -->
> <dependency>
>     <groupId>org.springframework</groupId>
>     <artifactId>spring-core</artifactId>
>     <version>${spring.version}</version>
> </dependency>
> <dependency>
>     <groupId>org.springframework</groupId>
>     <artifactId>spring-context</artifactId>
>     <version>${spring.version}</version>
> </dependency>
> <dependency>
>     <groupId>org.springframework</groupId>
>     <artifactId>spring-web</artifactId>
>     <version>${spring.version}</version>
> </dependency>
> <dependency>
>     <groupId>org.springframework</groupId>
>     <artifactId>spring-beans</artifactId>
>     <version>${spring.version}</version>
> </dependency>
>
> *struts.xml*
>
> <?xml version="1.0" encoding="UTF-8" ?>
> <!DOCTYPE struts PUBLIC
>     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
>     "http://struts.apache.org/dtds/struts-2.0.dtd";>
>
> <struts>
>     <constant name="struts.custom.i18n.resources"
> value="ApplicationResources" />
>     <constant name="struts.devMode" value="true" />
>     <constant name="struts.convention.result.path" value="/content" />
>     <constant name="struts.multipart.saveDir" value="/tmp" />
>     <constant name="struts.multipart.maxSize" value="4194304" />
>     <constant name="struts.action.excludePattern" value="/api/.*?" />
>
> </struts>
>
> *web.xml*
>
> <display-name>Application</display-name>
> <welcome-file-list>
>   <welcome-file>index.html</welcome-file>
> </welcome-file-list>
>
> <filter>
>     <filter-name>struts2</filter-name>
>
>
> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
> </filter>
>
> <filter-mapping>
>     <filter-name>struts2</filter-name>
>     <url-pattern>/*</url-pattern>
> </filter-mapping>
>
> <listener>
>
>
> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
>
> </listener>
>
> <servlet>
>   <servlet-name>Resteasy</servlet-name>
>
>
> <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
> </servlet>
> <servlet-mapping>
>   <servlet-name>Resteasy</servlet-name>
>   <url-pattern>/api/*</url-pattern>
> </servlet-mapping>
> <context-param>
> <param-name>resteasy.scan</param-name>
> <param-value>true</param-value>
> </context-param>
> <context-param>
>   <param-name>resteasy.servlet.mapping.prefix</param-name>
>   <param-value>/api</param-value>
> </context-param>
> <listener>
>
>
> <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
> </listener>
>
> *applicationContext.xml*
>
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://www.springframework.org/schema/beans";
>    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:aop="
> http://www.springframework.org/schema/aop";
>    xmlns:tx="http://www.springframework.org/schema/tx";
>    xsi:schemaLocation="
>       http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-2.5.xsd";>
> </beans>
>
> *Action Class*
> @Namespace("/units")
> @Result(
>     type = "stream",
>     params = {
>         "inputName", "stream"
>     }
> )
> public class PropertyTypeAction extends BaseAction implements ActionImpl{
>
>     @PersistenceUnit
>     private EntityManagerFactory emf;
>
>     @Action(value="add")
>     public String add() {
>         .......
>
>     }
> }
>
> *Ajax Request firebug report, XML tab*
> XML Parsing Error: no element found Location:
> moz-nullprincipal:{7fc640bd-f293-4956-8cf2-178765cec735} Line Number 1,
> Column 1:
>
> My request is how can i configure struts-spring plugin to work with struts
> convention plugin with the annotations.
>

Reply via email to