>I've used a similar approach but mine is working fine.
>what does your struts-config.xml look like?

Hi, 
Here is my struts-config, ShowAttributesList.do is my preaction before
displayin the list of objects, then we select one of the list and
execute the gocreateattribute action, and lastly we have the
CreateAttribute action which will reforward to the ShowAttributesList on
successful creation. The problem is that both actions are
DispatchActions with the same parameter. As explained in my former mail
I do not want to break that for different reasons.

Is there something I am missing?

        <action
       path="/Configuration/Attributes/ShowAttributesList"
       name="objectTypeForm"
       scope="request"
         parameter="fxpAction"
       type="fxp.web.actions.configuration.attributes.AttributesLister"
       validate="false">
                <forward 
                        name="showList"
        
path="/configuration/attributes/manageAttributesList.jsp"/>
                <forward 
                        name="edit"
        
path="/Configuration/Attributes/GoEditAttribute.do"/>
                <forward 
                        name="delete"
        
path="/Configuration/Attributes/GoDeleteAttribute.do"/>
                <forward 
                        name="create"
        
path="/Configuration/Attributes/GoCreateAttribute.do"/>
      </action>
    
        <action
       path="/Configuration/Attributes/GoCreateAttribute"
       parameter="/configuration/attributes/createAttribute.jsp"
           input="/Configuration/Attributes/ShowAttributesList.do"
       name="objectTypeForm"
       scope="request"
       type="fxp.web.actions.configuration.attributes.GoCreateAttribute"
       validate="false" />

        <action
       path="/Configuration/Attributes/CreateAttribute"
         input="/configuration/attributes/createAttribute.jsp"
       name="createAttributeForm"
       scope="request"
       type="fxp.web.actions.configuration.attributes.CreateAttribute"
         parameter="fxpAction"
       validate="true">
                <forward 
                        name="showList"
        
path="/Configuration/Attributes/ShowAttributesList.do"/>
                <forward 
                        name="create"
        
path="/configuration/attributes/createAttribute.jsp"/>
    </action>





>On Fri, 11 Jun 2004 11:26:54 +0200, Cosyns Xavier 
><[EMAIL PROTECTED]> wrote:
>> 
>> Hi,
>> 
>> I run into problems with chaining dispatchactions using the same 
>> parameter 'method'. We do use the same parameter name for all our 
>> dispatchaction for consistency reasons throughout the whole 
>> application, easier to maintain and using generique javascript 
>> functions.
>> 
>> The problem we ran into is that we have a first jsp page showing a 
>> list of items, and we achieve that by prepopulating with a 
>> dispatchaction some beans to be used in the jsp. Then we can go to a 
>> 'edit' page and when we submit we have another 
>dispatchaction with an 
>> 'update' method that should reforward on success to the first 
>> prepoplation dispatchaction. The problem is that forwarding 
>calls the 
>> 'update' method from the prepopulation dispatchaction, which 
>does not 
>> exist and should not exist. Redirecting the action does not 
>work as I 
>> lose a request parameter that permits to prepopulate the 
>right list of 
>> products on my first page (It will display the default list, not 
>> necesarely the list where he started an update upon).
>> 
>> So, our action&page flow is the following:
>> Prepopulation Action --> list.jsp --> detail (product Action) --> 
>> edit.jsp --> update (product action) --> Prepopulation Action.
>> 
>> Only options I see,
>> I could not use dispatchactions, but then I would have so many 
>> different action classes that are so closely related and 
>using common 
>> methods. I could break our 'inhouse rule' of using one global 
>> parameter name for dispatchactions, but it would not be 
>clean to have 
>> an exception to the rule, so I'm against that option. I could put an 
>> object in the session and in my prepopulation action testing for it, 
>> and if it exist showing the right list of products. But again, it's 
>> simulating a request parameter using a session, which is not a great 
>> design. None of the three options above are good design to me, so I 
>> would prefer another way.
>> 
>> What I would need is more something like the 'unspecified' 
>method from 
>> dispatchactions that would also be called if the given 
>parameter does 
>> not match any of the methods of the dispatchaction. From my tests, 
>> it's not the case,  the 'unspecified' method is called when the 
>> 'parameter' does not exist in the request and not when it does not 
>> match anny methods (my case). Or else, I would need a patameter 
>> 'overriding' mechanism, something where the dispatchaction 
>first do a 
>> request.getAttribute('method') and if this one does not 
>exist performs 
>> a request.getParameter('method'). But I have not found how 
>to achieve 
>> one of boths terchniques.
>> 
>> I'm sure someone else ran into this issue too, and I am aware that 
>> chaining actions is not a recommended design, but it's not a 
>> bussinesslogic problem, the issues addressed here only concerns 
>> presentation. Or did I missed something?
>> 
>> Thanks very much for your ideas,
>> 
>> Cosyns Xavier,
>> ______________________________
>> [EMAIL PROTECTED]
>> 
>> InveO Consulting & Development
>> Av. E. de Beco 112
>> 1050 Ixelles
>> Tel: +32 2 648 74 32
>> Fax: +32 2 648 87 64
>> 
>> ---------------------------------------------------------------------
>> 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]

Reply via email to