A very common problem and you can spend too much time on these issues. Personally - I would use the nested tags.
When using them - don't worry about generating the nested property syntax. Just use them intuitively in the easiest fashion possible. This includes mapped properties. For indexed properties you will need Object getObject(int index) and setObject(int index, Object o) and for mapped properties you need Map getMap(String key) setMap(String key, Object value) on the action forms. then just use this for indexed: <nested:iterate property="collection" id="someId"> <nested:text property="name"/> </nested:iterate> This will populate and load from the name property of the object that is in the collection. The collection is stored in an attribute called "collection" in some scope (in the above example). for mapped <nested:iterate property="myFormsMap"> <nested:property="name"/> <nested:iterate> This will load and populate the name property of whatever object is in the map. that's it - it is that easy. Here is another reference: http://www.mail-archive.com/[EMAIL PROTECTED]/msg71256.html sandeep --- Nate Bowler <[EMAIL PROTECTED]> wrote: > I'm sure this is a common question for Struts > newcomers dealing with > mapped and indexed properties, but I can't find a > good solution. > > To sum it up quickly, I can read values from an > ActionForm with the > following syntax in a JSP tag "rows(1).val", but > when I submit, I > get the following exception. Ideas?: > > java.lang.IllegalArgumentException: No bean > specified > at > org.apache.commons.beanutils.PropertyUtils.getPropertyDescriptor > (PropertyUtils.java:837) > at > org.apache.commons.beanutils.BeanUtils.setProperty > (BeanUtils.java:934) > at org.apache.commons.beanutils.BeanUtils.populate > (BeanUtils.java:808) > > > Here are more details: > > I've got an ActionForm subclass with the following > methods: > > public Map getMap(); > public void setMap(Map map); > > public MyRow getRows(String idx); > public void setRows(String idx, MyRow val); > > I prepopulate the form in an "open" action and > everything displays > beautifully. However, when I submit, the bean is > "lost" and > > BeanUtils can't seem to "repopulate" it. > > What am I missing here? > > - The reset() method is implemented and it > reinitializes everything. > - It is a request scope form. > > What is the "best practice" for this type of use > case? > > Nate > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]