Service写了个方法:
Action的方法:
这样JSP页面就可以直接使用这个对象了,key是固有属性
==================================================================
后来Q群的711教me使用泛型,就不用强制类型转换了,并可以直接返回map对象,在此thanks again
Action里直接就可以把Map对象返回,不用强制类型转换
public Map getAlbumNamesByOwnerID(Integer ownerID)
{
Map albumNamesMap=new HashMap();
List result=albumDAO.findByAlbumOwnerId((ownerID));
for(Iterator it=result.iterator();it.hasNext();)
{
CFIS_Album album=(CFIS_Album)it.next();
albumNamesMap.put(album.getAlbumName(),album.getAlbumId());
}
return albumNamesMap;
}
Action的方法:
Iterator it =albumService.getAlbumNamesByOwnerID(ownerID).entrySet().iterator();
/*
奇怪的是,下面这句需要强制转换,但得到的Map类型却上面.entrySet()的方法,要像上面那样直接用.entrySet()方法又可以;而且得到的这个map对象不可以直接返回到jsp页面使用,必须用迭代器把Map重新取出来再放到一个Map才可以使用,可能是前面没指定泛型的原因
Map albumNamesMap=(Map)albumService.getAlbumNamesByOwnerID(ownerID);
*/
System.out.println("Map~~~~~~~~~~~~~~~~~~~~");
Map albumNamesMap=new HashMap();
while(it.hasNext())
{
Entry entry = (Entry)it.next() ;
albumNamesMap.put(entry.getKey(),entry.getValue());
}
request.setAttribute("albumNamesMap", albumNamesMap);
这样JSP页面就可以直接使用这个对象了,key是固有属性
选择相册:<html:select property="albumID" size="1">
<logic:iterate id="albumName" name="albumNamesMap">
<html:option value="1"><bean:write name="albumName" property="key" /></html:option>
</logic:iterate>
</html:select>
==================================================================
后来Q群的711教me使用泛型,就不用强制类型转换了,并可以直接返回map对象,在此thanks again
public Map getAlbumNamesByOwnerID(Integer ownerID)
{
Map albumNamesMap=new HashMap();
List<CFIS_Album> result=albumDAO.findByAlbumOwnerId((ownerID));
for(CFIS_Album b: result)
{
albumNamesMap.put(b.getAlbumName(), b.getAlbumId());
}
return albumNamesMap;
}
Action里直接就可以把Map对象返回,不用强制类型转换
Map albumNamesMap=albumService.getAlbumNamesByOwnerID(ownerID);
request.setAttribute("albumNamesMap", albumNamesMap);