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 15:07:04 GMT
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