You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Tim Williams <wi...@gmail.com> on 2007/01/26 16:21:01 UTC

put types and useAttribute classnames

What's the relationship between the type attribute in the put and the
classname in the useAttribute.  I've just resolved some of my 'type'
issues that occurred because I apparently don't understand it.  What I
was trying to do was:

- have a basedialog tile defined in tile-defs.xml that "puts" what
will be the form action
(e.g.
<definition name="basedialog">
   <put name="dialog-action" type="string" value=""/>
</def...

- have an "insert" that uses this tile and includes the form body from
another file.
(e.g.
<tiles:insert definition="basedialog">
  <tiles:put name="dialog-action" type="string" value="doSomething.do"/>
</tiles:insert>

- finally, have a the form insert the action:
(e.g.
<tiles:useAttribute id="dialog-action" name="dialog-action"/>
<html:form action="<%=dialog-action%>">

The problem occurred in this last line giving some sort of
Object/String type error.  I figured out that I could alter it to
<%=dialog-action.toString() %> and all is well.  Then, I figured if i
drop the "type" attribute on the 'put' declarations earlier, then use
classname="String" on the useAttribute, all is well.  However, I
couldn't have type="string" and classname="String".   What kind of
object is a string vs a real String?

At this point, I have something that works so I understand the "how"
but there appear to be some casting subtleties that elude me so I'd
like to get the "why" too.

(Struts 1.2.7)
Thanks,
--tim

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org