struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jake Vang <vangj...@googlemail.com>
Subject spring, struts2, convention plugin, how to "wire" an action class
Date Thu, 13 May 2010 09:22:38 GMT
i am using struts 2.1.8.1 and the convention plugin. i am also using
spring for dependency injections (DI). my question is if it is
possible to to use struts2 + convention plugin with spring for DI on
my Action classes? i have searched  the internet but only seen
examples using struts 1 + spring for DI on Action classes. the
convention plugin makes life simpler (no XML), but also, partially
because of little documentation, makes it uneasy to do certain things.
i wonder if this is part of the reason why DI on Action classes using
spring + struts is not obvious for me.

Here's a simple code. This is my action class.

public class SpringWiringAction extends ActionSupport {
 private String message = "no dependency injection";

 @Action(value="/spring-wiring")
 public String springWiring() {
  return SUCCESS;
 }

 public String getMessage() { return message; }
 public void setMessage(String message) { this.message = message; }
}

My "view" or the JSP page corresponding to the Action is:
/webapp/WEB-INF/content/spring-wiring-success.jsp.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<html>
 <head><title>Test Spring Wiring</title</head>
 <body>
 <s:property value="message"/>
 </body>
</html>

My web.xml is setup according to
http://struts.apache.org/2.0.14/docs/struts-2-spring-2-jpa-ajax.html.

My spring XML file (/webapp/WEB-INF/applicationContext.xml) is defined
as following.

...
<bean id="placeholderConfig"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
 <property name="location" value="WEB-INF/applicationContext.properties"/>
</bean>
...
<bean name="/spring-wiring" class="com.me.actions.SpringWiringAction">
 <property name="message" value="${message}"/>
</bean>

My /webapp/WEB-INF/applicationContext.properties file then has this content.

message=dependency inject success

when i start up tomcat 6, everything starts up correctly and there are
no complaints. however, when i go to
http://localhost/webapp/spring-wiring, the message that gets displayed
is "no dependency injection".

is there something that i am missing using spring + struts2 (with the
convention plugin) to use DI on Actions?

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


Mime
View raw message