Thanks. It solves my problem :)

Franz

On Wed, Aug 11, 2010 at 10:11 PM, Alex Rodriguez Lopez <
alo...@flordeutopia.pt> wrote:

> Don't know if this solves your problem, but maybe it helps to use the
> params-prepare-params trick, calling params interceptor twice, so you have
> your params ready before prepare().
>
> You have an already configured stack, the paramsPrepareParamsStack
>
> From struts-default.xml:
>
> <!-- An example of the paramsPrepareParams trick. This stack
>                 is exactly the same as the defaultStack, except that it
>                 includes one extra interceptor before the prepare
> interceptor:
>                 the params interceptor.
>
>                 This is useful for when you wish to apply parameters
> directly
>                 to an object that you wish to load externally (such as a
> DAO
>                 or database or service layer), but can't load that object
>                 until at least the ID parameter has been loaded. By loading
>                 the parameters twice, you can retrieve the object in the
>                 prepare() method, allowing the second params interceptor to
>                 apply the values on the object. -->
>            <interceptor-stack name="paramsPrepareParamsStack">
>                <interceptor-ref name="exception"/>
>                <interceptor-ref name="alias"/>
>                <interceptor-ref name="i18n"/>
>                <interceptor-ref name="checkbox"/>
>                <interceptor-ref name="multiselect"/>
>                <interceptor-ref name="params">
>                    <param name="excludeParams">dojo\..*,^struts\..*</param>
>                </interceptor-ref>
>                <interceptor-ref name="servletConfig"/>
>                <interceptor-ref name="prepare"/>
>                <interceptor-ref name="chain"/>
>                <interceptor-ref name="modelDriven"/>
>                <interceptor-ref name="fileUpload"/>
>                <interceptor-ref name="staticParams"/>
>                <interceptor-ref name="actionMappingParams"/>
>                <interceptor-ref name="params">
>                    <param name="excludeParams">dojo\..*,^struts\..*</param>
>                </interceptor-ref>
>                <interceptor-ref name="conversionError"/>
>                <interceptor-ref name="validation">
>                    <param
> name="excludeMethods">input,back,cancel,browse</param>
>                </interceptor-ref>
>                <interceptor-ref name="workflow">
>                    <param
> name="excludeMethods">input,back,cancel,browse</param>
>                </interceptor-ref>
>            </interceptor-stack>
>
>
>
>  Hi,
>>
>> I have read the documentation "How do we repopulate controls when
>> validation
>> fails" [1]. I tried the action tag solution. However, when there is a
>> validation error, the execute method of the action in<s:action>  is not
>> called.
>>
>> I don't choose the Preparable solution because the parameter required is
>> not
>> ready in the Prepare stage. (For the first time of visit, the parameter is
>> set to default.) And I don't want to call the preparation twice in both
>> execute and prepare. So what is the best way to repopulate controls for
>> normal case and revisit after validation error? Should I abandon to
>> validate
>> the input in validate method?
>>
>> Thanks.
>> Franz
>>
>> [1]
>>
>> http://struts.apache.org/2.x/docs/how-do-we-repopulate-controls-when-validation-fails.html
>>
>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>
>

Reply via email to