Hmm. I use the same combo.
I found at some point I could jsut do
public class MyAction extends ActionSupport {
private MyInjectedService service
etc etc
But I have started doing:
public class MyAction extends ActionSupport {
@Autowired
private MyInjectedService service
I am not sure if that alters the way Struts2/Spring does it. But it does
make it a bit clearer to read.
-----Original Message-----
From: Jake Vang [mailto:[email protected]]
Sent: 13 May 2010 10:23
To: [email protected]
Subject: spring, struts2, convention plugin, how to "wire" an action
class
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.PropertyPlaceholderConfi
gurer">
<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: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]