struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eric Lentz <>
Subject Re: Extending base class and accessing implementation's fields in Struts 2
Date Mon, 03 Dec 2012 17:05:03 GMT
I'm almost there. I didn't suspect that it would work that way with the
iterator. Should have tried it first! Thanks Dave.

On the way back, such as in a post, if BaseObject is an interface or
abstract, as I'm hoping for it to be, then Struts tries to instantiate the
BaseObject type, which it can't, so it throws:

[com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler] Could
not create and/or set value back on to object
 at java.lang.reflect.Constructor.newInstance(
at java.lang.Class.newInstance0(
 at java.lang.Class.newInstance(
at com.opensymphony.xwork2.ObjectFactory.buildBean(
at ognl.ASTProperty.getValueBody(

Any ideas on solving that?

- Eric

On Mon, Dec 3, 2012 at 11:19 AM, Eric Lentz <>wrote:

> I have
> List<BaseObject> foo
> The list is of type BaseObjectImpl
> BaseObject has fields:
> String a
> String b
> BaseObjectImpl has fields:
> String c
> String d
> Now I'm in a JSP and want to iterate foo (using <s:iterator>), accessing
> fields c and d (inside iterator using <s:property>, for example). How? As
> far as Struts knows I'm dealing with BaseObject. Is there a way for me to
> cast to BaseObjectImpl without creating a StrutsTypeConverter for every
> object I'm extending? In my use case, there will be several and the
> temptation is to just define the list with the implementation which foils
> reusability patterns (e.g., List<BaseObjectImpl>).
> Likewise, what to do when posting back to a field like this:
> BaseObject bar  (which has BaseObjectImpl as its implementation) e.g.,
> <s:textfield name="bar.c" />
> Is there a totally different approach that would be better or is
> StrutsTypeConverter the only good answer?
> - Eric

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