thanks. example please? (when you have time). On Thu, May 13, 2010 at 6:52 AM, James Cook <james.c...@wecomm.com> wrote: > Ahh hmm. > > You can use the autowired, You just have to declare you stuff in the spring > xml. E.g. > > <bean id="myJDBCString" class="java.lang.String" .... > > I think you can also use the @Resource anno as well. Can't think off the top > of my head. > > -----Original Message----- > From: Jake Vang [mailto:vangj...@googlemail.com] > Sent: 13 May 2010 11:44 > To: Struts Users Mailing List > Subject: Re: spring, struts2, convention plugin, how to "wire" an action class > > yes. precisely. > > On Thu, May 13, 2010 at 6:41 AM, James Cook <james.c...@wecomm.com> wrote: >> Oh, did you want your action as a spring managed bean? Ah I think i >> massively miss read you. You want to inject predefined values etc? >> >> >> -----Original Message----- >> From: Jake Vang [mailto:vangj...@googlemail.com] >> Sent: 13 May 2010 11:38 >> To: Struts Users Mailing List >> Subject: Re: spring, struts2, convention plugin, how to "wire" an action >> class >> >> thanks. i won't go that route. i noticed your example (in the first >> response) and i realized that i may trying to push some business logic >> into the Action class. and, i don't think that's too good of a >> practice. i simply revised my Service class to hold these values >> (booleans, String, int, etc...) and now the problem goes away. it's a >> workaround. >> >> if anyone is reading this post and knows how to use struts2 (w/ >> convention plugin) + spring to construct Action classes, please let me >> know. the examples i've seen are only with struts1 (and though not too >> complicated, seem verbose with the xml). >> >> On Thu, May 13, 2010 at 6:20 AM, James Cook <james.c...@wecomm.com> wrote: >>> Yeah sorry, short on time here, didn't see your question at the bottom. Add >>> the spring jar from the spring project. >>> >>> -----Original Message----- >>> From: Jake Vang [mailto:vangj...@googlemail.com] >>> Sent: 13 May 2010 11:16 >>> To: Struts Users Mailing List >>> Subject: Re: spring, struts2, convention plugin, how to "wire" an action >>> class >>> >>> doesn't answer the question but thanks anyways. >>> >>> On Thu, May 13, 2010 at 6:12 AM, James Cook <james.c...@wecomm.com> wrote: >>>> Nope, no they are not in the xml for me. I use the @Service/@Repository >>>> annotations on the class, coupled with the component scan in the Spring >>>> xml. >>>> >>>> -----Original Message----- >>>> From: Jake Vang [mailto:vangj...@googlemail.com] >>>> Sent: 13 May 2010 11:09 >>>> To: Struts Users Mailing List >>>> Subject: Re: spring, struts2, convention plugin, how to "wire" an action >>>> class >>>> >>>> well, there's something strange about struts2 (with convention plugin) >>>> + spring. if your action has a field representing a service, >>>> MyInjectedService myInjectedService, you just have to define that in >>>> the spring xml file. for example, your Action class looks like the >>>> following. >>>> >>>> public class MyAction extends ActionSupport { >>>> private Service service; >>>> >>>> �...@action(value="/dummy") >>>> public String dummy() { return SUCCESS; } >>>> public Service getService() { return service; } >>>> public void setService(Service service) { this.service = service; } >>>> } >>>> >>>> in your spring xml file (i.e. applicationContext.xml), you simply >>>> define a bean with the id="service". for example, >>>> >>>> <bean id="service" class="my.class.Service"/> >>>> >>>> that's it; you don't have to do anything else. you don't even have to >>>> explicitly say (using XML) to inject this when you are creating an >>>> instance of MyAction. now when a user accesses /dummy, MyAction will >>>> be created and its service field will actually be injected with what >>>> is specified in the spring xml file. >>>> >>>> what irks me or bothers me is that it is not obvious at the moment >>>> how to simply inject strings or booleans into the Action class. it >>>> should be just as simple. >>>> >>>> upon analyzing what i am doing, and in light of what you said, perhaps >>>> i am trying to push some logic into the Action class that shouldn't be >>>> there. perhaps i should push the logic to a service class instead. in >>>> this case, this problem goes away. BUT, the question remains, how can >>>> i use DI with struts2 (convention plugin) and spring on Action >>>> classes? or can i not? if i can't, end of story. if i can, how? >>>> >>>> On Thu, May 13, 2010 at 5:44 AM, James Cook <james.c...@wecomm.com> wrote: >>>>> 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:vangj...@googlemail.com] >>>>> Sent: 13 May 2010 10:23 >>>>> To: user@struts.apache.org >>>>> 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: user-unsubscr...@struts.apache.org >>>>> For additional commands, e-mail: user-h...@struts.apache.org >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>>>> For additional commands, e-mail: user-h...@struts.apache.org >>>>> >>>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>>> For additional commands, e-mail: user-h...@struts.apache.org >>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>>> For additional commands, e-mail: user-h...@struts.apache.org >>>> >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>> For additional commands, e-mail: user-h...@struts.apache.org >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>> For additional commands, e-mail: user-h...@struts.apache.org >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >> For additional commands, e-mail: user-h...@struts.apache.org >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >> For additional commands, e-mail: user-h...@struts.apache.org >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > >
--------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org