我将两个列表添加到一个Map map = new HashMap()中。我想使用JSTL从jsp页面中获取值 我的控制者是
@RequestMapping("/addprogram")
public ModelAndView thematicday()
{
Map<String, List> map = new HashMap<String, List>();
try{
List<Themes> theme=dataServices.getTheme();
List<String> themeday=dataServices.getThematicDate();
map.put("theme", theme);
map.put("themeday", themeday);
}
catch(Exception e)
{
e.printStackTrace();
}
return new ModelAndView("thematicday","map",map);
}
我exctract第一个列表
<c:forEach var="events" items="${map.theme}">
<option value="${events.themeid}">${events.themename}</option>
但我不知道如何从字符串列表
中提取值daoImpl中的第二个列表
@SuppressWarnings("unchecked")
@Override
public List<String> getDate() {
List<ThematicDay> Themedate = null;
session=sessionFactory.openSession();
tx=session.beginTransaction();
Query query = session.createQuery( "select a.themedate,a.thematicdayid from tableone a where a.thematicdayid in(SELECT thematicdayid FROM tabetwo GROUP BY thematicdayid HAVING COUNT(*) < 3)");
List<Object> result = (List<Object>) query.list();
List<String> strings = new ArrayList<String>();
for (Object object : result) {
strings.add(object != null ? object.toString() : null);
}
System.out.println("\n\n *&*&*&* "+strings);
for(int i=0; i<strings.size(); i++){
String stringArray = strings.get(i);
System.out.println("\n\n *&*&*&* "+stringArray);
}
tx.commit();
session.close();
return strings;
}
我使用此代码获取该列表
<c:forEach var="Date" items="${map}">
<c:if test="${Date.key == 'themeday'}">
<div class="bottom-article">
<ul class="meta-post">
<li><a href="#" class="tl_1"> ${Date.value[0]} </a></li>
<li><a href="#" class="tl_2">${Date.value[1]} </a></li>
</ul>
</div>
</c:if>
</c:forEach>
但是得到这样的结果
[Ljava.lang.Object;@762b0f
[Ljava.lang.Object;@4f983
答案 0 :(得分:0)
请试试这个。
<c:forEach var="themedays" items="${map.themeday}">
<c:foreach var="theme" items="${themedays}">
<b> ${theme} </b>
</c:foreach>
</c:foreach>
答案 1 :(得分:0)
下面的方法可以应用于使用String和bean对象列表迭代hashmap
<c:forEach items="${map}" var="events">
// iterate the key here
StringValues= ${events.key}
// iterate the values of list here
<c:forEach items="${events.value}" var="item" >
${item}
</c:forEach>
</c:forEach>
见这里: