struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dave Newton <davelnew...@gmail.com>
Subject Re: setter overriding?
Date Mon, 26 Mar 2012 19:06:04 GMT
http://struts.apache.org/mail.html

On Monday, March 26, 2012, Yadav Khanal <yadav_khanal@yahoo.com> wrote:
> I wanna get rid of the mass mail; How may I unsubscribe?
>
>
> ________________________________
>  From: Dave Newton <davelnewton@gmail.com>
> To: Struts Users Mailing List <user@struts.apache.org>
> Sent: Monday, March 26, 2012 11:07:04 AM
> Subject: Re: setter overriding?
>
> I *think* it'd try to set `modelId` on the model, not on the action--I'd
> have to check the source.
>
> d.
>
> On Mon, Mar 26, 2012 at 11:03 AM, Scott Koenig <scott.l.koenig@gmail.com
>wrote:
>
>> I have a model-driven Web action:
>>
>>    public class ModelDrivenAction<T extends Object> implements
>> ModelDriven<T>, Preparable {
>>
>>      protected Long id;
>>      protected T model;
>>
>>      @Override
>>      public void prepare() {}
>>
>>      public void setId(Long id) { this.id = id; }
>>
>>      @Override
>>      public T getModel() { return model; }
>>
>>      public void setModel(T model) { this.model = model; }
>>    }
>>
>> I have another action which is not currently model-driven:
>>
>>    public class OtherAction implements Preparable {
>>
>>      private ModelObj modelObj;
>>      private Long modelId;
>>
>>      @Override
>>      public void prepare() { modelObj =
>> repoService.retrieveModelById(modelId); }
>>
>>      public void setModelId(Long modelId) { this.modelId = modelId; }
>>    }
>>
>> I wish to use the model-driven action to extend the other action, and
would
>> like to avoid having to track down all the instances in JavaScript where
>> the action is passed a "modelId" parameter instead of "id" if at all
>> possible. I thought this might work, so either modelId or id could be
>> passed in:
>>
>>    public class OtherAction extends ModelDrivenAction<ModelObj> {
>>
>>      @Override
>>      public void prepare() { model = repoService.retrieveModelById(id); }
>>
>>      public void setModelId(Long modelId) { this.id = modelId; }
>>    }
>>
>> However, server/path/to/other!method?modelId=123 is failing to set id. I
>> thought so long as a setter matched a parameter name the Struts
interceptor
>> would call it on action invocation. Am I missing something here? I'm
using
>> Java 6, Struts 2.1.8.1 and Spring 3.
>>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message