a few considerations:
using convention plugin to create/determine action name 
http://struts.apache.org/2.x/docs/convention-plugin.html

1)
Action name overrides using annotations as in the example  @Action("FOO-BAR") 
"FOO-BAR" is action name
2)
struts.convention.action.name.lowercase=false "foo-bar" is action name

action locational characteristics:
 By default, the Convention plugin will find all action classes 
-that implement com.opensymphony.xwork2.Action or 
-whose name ends with the word Action in specific packages.  
so these Action classes will be 'found'
com.example.actions.MainAction
com.example.actions.products.Display (implements com.opensymphony.xwork2.Action)
com.example.struts.company.details.ShowCompanyDetailsActionso we now know how 
the action name is created  and found

SPRING: 
http://struts.apache.org/2.x/docs/spring-plugin.html

first we need to define StrutsSpringObjectFactory via Struts.properties
struts.objectFactory = org.apache.struts2.spring.StrutsSpringObjectFactory



struts.xml
<struts>
  <constant name="struts.objectFactory" 
value="org.apache.struts2.spring.StrutsSpringObjectFactory" />
</struts>

//you configured your action-name as defined above with annotation and /or 
lowercase
struts.objectFactory.spring.autoWire = name 
//you can use Spring to auto-create actions or beans

if you are using context in your xml for params you will need the 
ContextLoaderListener defined in web.xml e.g.

<listener>
    
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
//application-context.xml contains the name and the class for the 'wired' bean
as defined here
<?xml version="1.0" encoding="UTF-8<!DOCTYPE beans PUBLIC "-//SPRING//DTD 
BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd";>
<beans default-autowire="autodetect">
    <bean id="personManager" class="com.acme.PersonManager"/>
</beans>
//be aware that name assignment will be 'personManager'


//USING context other then applicationContext you can specify so here
<context-param>
    <param-name>contextConfigLocation</param-name>
    
<param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>
</context-param>

<!-- struts.xml association of Action objects to Spring (personManager) 
configuration -->
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd";>
<struts>
    <include file="struts-default.xml"/>
    <package name="secure" namespace="/secure" extends="default">
        <action name="PersonNameAction" class="personManager">
            <result>bar.ftl</result>
        </action>
    </package>
</struts><!-- class is defined as PersonManager (NOTE personManager was 
assigned by the spring configuration) -->
<!-- if you prefer thread safe implementations you can configure your bean to 
specify singleton  false -->

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 
"http://www.springframework.org/dtd/spring-beans.dtd";>
<beans default-autowire="autodetect">
    <bean id="bar" class="com.my.BarClass" singleton="false"/>
</beans>
additional considerations 
struts.objectFactory.spring.autoWire.alwaysRespect=true 
(currently alwaysRespect false has a bug assigned)

//choosing autowire type is a safe choice as Action name might be changed 
modified by convention-plugin mods
struts.objectFactory.spring.autoWire=type 

I hope this makes the topic clearer to you
Martin Gainty 
______________________________________________ 
Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité
 
Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger 
sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung 
oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem 
Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. 
Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung 
fuer den Inhalt uebernehmen.
Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le 
destinataire prévu, nous te demandons avec bonté que pour satisfaire informez 
l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est 
interdite. Ce message sert à l'information seulement et n'aura pas n'importe 
quel effet légalement obligatoire. Étant donné que les email peuvent facilement 
être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité 
pour le contenu fourni.




> Date: Wed, 3 Jun 2009 04:31:15 -0700
> From: bphill...@ku.edu
> To: user@struts.apache.org
> Subject: Re: Introducing Spring in Struts2 Project
> 
> 
> Alee:
> 
>    I just checked the link to the PDFs and they are working fine.  If you
> still 
> cannot get them to open, email me at phillips1021 at hotmail dot com and I
> will send the PDFs
> to you.  The PDFs have the link to the source code and explain how to 
> build the projects.
> 
>    Struts 2 has a plug-in that enables the Struts framework to communicate
> with the Spring framework.
> 
>    Check out the references for my blog articles for much more information.
> 
> Bruce
> 
> @ philips
> i have downloaded the pdf's from your site. thanks. i am going through it
> and i guess those are pretty helpful. still have not started implementing
> those
> 
> Quick Question:
> integrating spring in struts through spring plugin, does not mean that you
> have struts as your base framework and then adding spring as one part of it?
> in my knowledge, spring is the base framework and other are added on top of
> it.
> 
> ..alee
> http://techboard.wordpress.com
> 
> 
> 
> On Wed, Jun 3, 2009 at 10:18 AM, Wes Wannemacher <w...@wantii.com> wrote:
> 
> > I don't know about Bruce's blog, but I know the source samples for the
> > book
> > he
> > mentioned are available here -
> >
> > struts2inpractice.googlecode.com
> >
> > (btw, thanks for the plug Bruce)
> >
> > -Wes
> >
> > 
> -- 
> View this message in context: 
> http://www.nabble.com/Introducing-Spring-in-Struts2-Project-tp23832610p23849807.html
> Sent from the Struts - User mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
> 

_________________________________________________________________
Insert movie times and more without leaving Hotmail®. 
http://windowslive.com/Tutorial/Hotmail/QuickAdd?ocid=TXT_TAGLM_WL_HM_Tutorial_QuickAdd_062009

Reply via email to