Just to follow up: turns out the issue was due to a misconfiguration in Eclipse; the code actually does work as I'd expected.
On Mon, Mar 26, 2012 at 11:48 AM, Dave Newton <davelnew...@gmail.com> wrote: > The model driven and params interceptors, I think--it should be pretty > quick to track. > > d. > > On Mon, Mar 26, 2012 at 11:42 AM, Scott Koenig <scott.l.koe...@gmail.com > >wrote: > > > Thanks, Dave... I'll probably end up just tracking down all the places in > > the js, but I'd like to investigate this just to satisfy my curiosity... > do > > you have any suggestions on which file(s) to examine in the source? > > > > On Mon, Mar 26, 2012 at 11:07 AM, Dave Newton <davelnew...@gmail.com> > > wrote: > > > > > 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. > > > > > > > > > >