You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by de...@struts.apache.org on 2004/04/24 21:30:39 UTC

[Apache Struts Wiki] New: StrutsCatalogMappedBeans

   Date: 2004-04-24T12:30:39
   Editor: 131.191.40.91 <>
   Wiki: Apache Struts Wiki
   Page: StrutsCatalogMappedBeans
   URL: http://wiki.apache.org/struts/StrutsCatalogMappedBeans

   no comment

New Page:

StrutsCatalog: '''Provide a mapped bean that can be nested in in <bean:write>.''' April 24, 2004

This !BeanMap class provides you with a bean that allows you to access map values using <bean:write>.  Assume that you have the following code somewhere:
{{{
!BeanMap beanMap1 = new !BeanMap();
!BeanMap beanMap2 = new !BeanMap();
beanMap2.setProperty("world","Hello, World!");
beanMap1.setProperty("map",beanMap2);
}}}
And, assume that you have set your beanMap1 in some scope on your website, e.g. session.setAttribute("test",beanMap1).  Now, you can access the entry in beanMap1 as follows:
{{{
<bean:write name="test" property="map(map).map(world)"/>
}}}
This will output: 
{{{
Hello, World!
}}}
Also, cf. ["StrutsCatalogInstrumentableForms"],["StrutsCatalogVariableScreenFields"], and http://jakarta.apache.org/struts/faqs/indexedprops.html

{{{   
public class BeanMap implements Map {
  private Map map;

  public BeanMap() {
    int size = 89;
    this.map = Collections.synchronizedMap(new HashMap(size));
  }

  public void setMap(Map map) {
    this.map = map;
  }

  public Map getMap() {
    return this;
  }

  public void setProperty(Object key, Object value) {
    map.put(key,value);
  }

  public Object getProperty(Object key) {
    return map.get(key);
  }

  public void       clear()                       { map.clear(); }
  public boolean    containsKey(Object key)       { return map.containsKey(key);}
  public boolean    containsValue(Object value)   { return map.containsValue(value); }
  public Set        entrySet()                    { return map.entrySet(); }
  public boolean    equals(Object object)         { return map.equals(object); }
  public Object     get(Object key)               { return map.get(key); }
  public int        hashCode()                    { return map.hashCode(); }
  public boolean    isEmpty()                     { return map.isEmpty(); }
  public Set        keySet()                      { return map.keySet(); }
  public Object     put(Object key, Object value) { return map.put(key,value); }
  public void       putAll(Map map)               { map.putAll(map); }
  public Object     remove(Object key)            { return map.remove(key); }
  public int        size()                        { return map.size(); }
  public Collection values()                      { return map.values(); }
  public String     toString()                    { return map.toString(); }
} ///;-)
}}}
-- Michael !McGrady

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