Hi! Yes, I'm using spring. But I use only spring's DI mechanism, to use it with Hibernate. I use it with struts-spring plugin. And also I use convention plugin. I use autowired dependencies by type. And they're injected perfectly well.
2012/5/29 J. Garcia <jogaco...@gmail.com> > I guess you're using Spring. > > If you use Spring injection via an xml file, you must use inheritance: > > <bean id="baseAction" class="com....BaseAction" scope="prototype"> > </bean> > > <bean id="itemDetails" class="com....ItemDetails" scope="prototype" > depends-on="baseAction"> > <property name="itemId" ref="itemId"/> > </bean> > > <bean id="saveItem" class="com....SaveItem" scope="prototype" > depends-on="baseAction,itemDetails"> > </bean> > > Cheers, > J. > > On Tue, May 29, 2012 at 2:31 PM, Dionis Argiri <dio...@gmail.com> wrote: > > > Hi! > > > > I'm using struts 2.3.3. And I have marked following problem. When I have > > some hierarchy of inheritance, then value is not automatically injected > in > > inherited action. Example: > > > > abstract class BaseAction extends ActionSupport { > > ... > > } > > > > class NewItem extends BaseAction { > > ... > > } > > > > class ItemDetails extends BaseAction { > > protected BigInteger itemId; > > public BigInteger getItemId(){return itemId;} > > public void setItemId(BigInteger itemId){this.itemId=itemId;} > > ... > > } > > > > class SaveItem extends ItemDetails { > > ... > > } > > > > I submit form to action "SaveItem" and (surprise-surprise) value is not > > injected into itemId. And I see OGNL exception, that there's no method > > SaveItem.setItemId(BigInteger). > > Only working work-around is to explicitly create setter in SaveItem > action. > > But I hate this approach, because it forces me to create stupid code. > > > > The same stuff is even if I try to make field public. Anyway, it's not > seen > > by framework and value is not injected. > > > > Is it a known issue? Or probably I'm just using struts2 actions somehow > > strange? > > > > BR, > > Dionis > > >