Re: how to iterate through a map in struts
On Apr 10, 1:46 am, "Tim B" <nos...@someisp.ca> wrote:
"vyshu" <vysh...@gmail.com> wrote in message
news:1176100609.213901.233960@e65g2000hsc.googlegroups.com...
hi,
i am confused about iterating through a map in struts.
i hav a form bean LoginForm.and a getter mathod getID(),which returns
the values of a map if passed the key as parameter....my code..
/*public String getId(String key)
{
return (String)mapelements(key);
}
public Object mapelements(String key)
{
Map x=new HashMap();
x.put("1","vaisahk");
x.put("2","jovin");
x.put("3","praveen");
x.put("4","subhash");
return x.get(key);
}
*/
now i want to print this in the jsp page where i am fowarding from
here..
this is my action code..
LoginForm obj=(LoginForm)form;
sess=obj.getUser();
HttpSession session=req.getSession();
session.setAttribute("usersession",form);
and in the forwarded jsp page i want to print the values of the
map....
please help....
Here's an example using Struts tags.
<bean:define name="myRequestScopedBean" property="theMap" id="myMap"/>
<logic:iterate id="mapEntry" name="myMap" >
<bean:write name="mapEntry" property="key"/> <bean:write
name="mapEntry" property="value"/>
</logic:iterate>
Vyshu,
Just elaborating above example for better understanding.
<bean:define name="myRequestScopedBean" property="theMap" id="myMap"/>
1. myRequestScopedBean- is the bean class(DTO/VO's) in which you will
be decalaring your HashMap as property.
2. theMap- is the name of HashMap, like private HashMap theMap in the
bean class, which you will be populating in Action/impl classes.
3. myMap- is just a reference variable with which this HashMap will be
refered within this scope.
<logic:iterate id="mapEntry" name="myMap" >
Now as you have hashmap reference so you iterate over it, giving it a
id for next scope in which you loop/iterated within the entry and get
its keys and values printed out.
-Chandan