用sql语句将查询结果存入hashmap中后,怎样写一个servlet取出数据,并在jsp页面显示,最好写出代码,谢谢

这是写好的TestService.javaimportjava.sql.ResultSet;importjava.sql.SQLException;importjava.... 这是写好的TestService.java

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;

import com.trms.bean.Course;
import com.trms.bean.Previous;
import com.trms.dao.DAO;

public class TestService {
public static HashMap<Integer, Previous> getPrevious(){
DAO dao = new DAO();
HashMap<Integer, Previous> map = new HashMap<Integer, Previous>();
String sql = "select * from previous";
ResultSet rs = dao.query(sql);
try {
int i = 0;
while(rs.next()){
i++;
Previous p = new Previous();
p.setcNo(rs.getInt(1));
p.setcPNo(rs.getInt(2));
p.setcName(rs.getString(3));
map.put(1, p);
}
} catch (SQLException e) {
e.printStackTrace();
}
return map;
}
public static HashMap<Integer, Course> getCourse(){
DAO dao = new DAO();
HashMap<Integer, Course> map = new HashMap<Integer, Course>();
String sql = "select * from course";
ResultSet rs = dao.query(sql);
try {
int k = 0;
while(rs.next()){
k++;
Course c = new Course();
HashMap<?, ?> map1 = getPrevious();
HashMap<Integer, Previous> map2 = new HashMap<Integer, Previous>();
int j = 0;
for(int i=0;i<map1.size();i++){
if(((Previous)map1.get(i+1)).getcPNo()==rs.getInt(1)){
j++;
map2.put(j, ((Previous)map1.get(i+1)));
}
}
c.setCNo(rs.getInt(1));
c.setCPNo(rs.getInt(2));
c.setCLen(rs.getInt(3));
c.setDescription(rs.getString(4));
c.setPrevList(map2);
map.put(k, c);
}
} catch (SQLException e) {
e.printStackTrace();
}
return map;
}
}
展开
 我来答
不爱唱歌
2011-11-06 · TA获得超过326个赞
知道小有建树答主
回答量:443
采纳率:0%
帮助的人:101万
展开全部
把map存在request中,然后用EL表达式,迭代map:
<c:forEach var="item" items="${map2}">
${item.key} > ${item.value} <br>
</c:forEach>
上面的item.value应该就是Previous对象咯,你尝试一下item.value.xxx看看能不能正常取值?
追问
能不能把map存进request的代码也写一下?刚接触这个,基本上一点都不懂(囧)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式