I wanna get rid of the mass mail; How may I unsubscribe?
________________________________ From: Dave Newton <davelnew...@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.koe...@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. >