Java 当我在jsp端使用jstl时,如何分离映射键

Java 当我在jsp端使用jstl时,如何分离映射键,java,jsp,jstl,Java,Jsp,Jstl,如何在使用jstl在jsp端检索时分离这两个键jstl代码如下: Map<String, List<OfferBean>> map = new HashMap<String, List<OfferBean>>(); List<OfferBean> al=new ArrayList<OfferBean>(); List<OfferBean> bl=new ArrayList<OfferBean>();

如何在使用jstl在jsp端检索时分离这两个键jstl代码如下:

Map<String, List<OfferBean>> map = new HashMap<String, List<OfferBean>>();
List<OfferBean> al=new ArrayList<OfferBean>();
List<OfferBean> bl=new ArrayList<OfferBean>();
OfferBean of=null;
sql="select * from catgory";// here i'm using one table data
ps1=c.prepareStatement(sql);
ps1.execute();
rs=ps1.getResultSet();
while(rs.next())
{
    of=new OfferBean();
    of.setCategory(rs.getString("catgoryname"));
    al.add(of);
}
sql="select * from projectname where sl_no_projectname";//here on more table data
ps1=c.prepareStatement(sql);
ps1.execute();
rs=ps1.getResultSet();
while(rs.next())
{
    of=new OfferBean();
    of.setCategory(rs.getString("categoryname"));
    bl.add(of);
}
map.put("key", al); // here i'm put two table data  in the map using keys 
map.put("key1",bl);
return map;

我想把这两个表数据放在两个不同的地方

更好的选择是替换映射到两个单独的列表

在服务器端

<c:forEach var="sample" items="${sampleMap}">
  Key : ${sample.key}
  <c:forEach var="item" items="${sample.value}">
 <option>${item.category}</option>  
  </c:forEach>
  </c:forEach> 
在jsp中

 request.setAttribute("al", al);   
 request.setAttribute("bl", bl);  
or
 request.setAttribute("al",map.get("key"));   
 request.setAttribute("bl",map.get("key1"));   

更好的选择是将映射替换为两个单独的列表

在服务器端

<c:forEach var="sample" items="${sampleMap}">
  Key : ${sample.key}
  <c:forEach var="item" items="${sample.value}">
 <option>${item.category}</option>  
  </c:forEach>
  </c:forEach> 
在jsp中

 request.setAttribute("al", al);   
 request.setAttribute("bl", bl);  
or
 request.setAttribute("al",map.get("key"));   
 request.setAttribute("bl",map.get("key1"));   

你的问题至少对我来说不是很清楚。你说分开的两个键是什么意思?实际上我使用的是那边的两个数组列表和我放在地图中的两个数组列表我想使用jstl访问这两个数组列表,一个接一个的循环谢谢你,你当前的方法有什么错?看起来不错。我确实想使用jstl拆分两个表数据,用于循环。您在谈论哪两个表?如果你编辑你的问题来解释你到底期望什么,你得到了什么,那会更好。目前你的问题太模糊,无法回答。谢谢你的问题至少对我来说不是很清楚。你说分开的两个键是什么意思?实际上我使用的是那边的两个数组列表和我放在地图中的两个数组列表我想使用jstl访问这两个数组列表,一个接一个的循环谢谢你,你当前的方法有什么错?看起来不错。我确实想使用jstl拆分两个表数据,用于循环。您在谈论哪两个表?如果你编辑你的问题来解释你到底期望什么,你得到了什么,那会更好。目前你的问题太模糊,无法回答。感谢如果我替换了map,那么就可以从javaclassinstead of request返回两个列表值。setAttributesSampleMap,map;使用这个request.setAttributeal,map.getkey;setAttributebl,map.getkey1;他正在请求中设置属性。只需使用request.getAttributea1。如果我替换map,那么如何从JavaClassInstant返回两个列表值而不是request.setAttributesampleMap,map;使用这个request.setAttributeal,map.getkey;setAttributebl,map.getkey1;他正在请求中设置属性。只需使用request.getAttributea1。