The short answer to your question is, you can't do it. The hashmap getter and setter were created for situations where you know the key in the hashmap, and can use a literal in the page to retrieve it. Nesting in
Struts tags doesn't work. For example, the following:
property="tops(<bean:write name="book" property="eno" />
"
will not work.
I don't understand your application well enough to know, but sometimes it's just easier to use plain old HTML tags with scriptlets rather than trying to force Struts tags to handle odd situations. Another possibility would be to rewrite your Book bean in a way that would be more compatible with Struts tags.
Merrill