jsp 从servlet到jsp传值
发布网友
发布时间:2022-04-09 22:41
我来回答
共4个回答
热心网友
时间:2022-04-10 00:11
你是不是想把查询结果在页面上都显示出来。首先你要在servlet中调用DAO下的方法(mvc开发模式 ,不用框架的开发模式)
public class UserDAO(){
public ArrayList<Bean名称>getAllUserQuery(){
ArrayList<Bean名称> array = new ArrayList<Bean名称>();
String sql = "select * from 表名";
ResultSet rs = null;
Connection conn = //你自己连接数据库的工具类,创建好连接,返回conn.
PreparedStatement pstat = pstat = conn.prepareStatement(sql);
rs = pstat.executeQuery();
StudentBean student = null;
while(rs.next()){
student =new StudentBean();
//把查出的数据封装到Bean里,比如叫 StudentBean(封装了属性,有get,set方法)
array .add(student );
}
return array;
}
} //没用开发工具写,中间还要写异常处理语句,在myeclipse下点点就有了。
然后在servlet中调用这个类中的方法,获得一个ArrayList,
用一个ArrayList接收。 例如叫 array
request.setAttribute("AllStudent", array);
request.getRequestDispatcher("jsp界面的名字").forward(request,
response);
<%@taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
在jsp界面加上这句,可以用jstl表达式。
<c:forEach items="${requestScope.AllStudent}" var="Bean">
<tr>
<td>
{Bean.sno}
</td>
{Bean.sname}
<td>
{Bean.cname}
</td>
<td>
{Bean.credit}
</td>
<td>
{Bean.grade}
</td>
</tr>
</c:forEach>
用foreach 循环 把所有信息显示出来
,凭空写的,肯定有错误,只可参考。
热心网友
时间:2022-04-10 01:29
jsp就是java+html,jsp页面里没java代码的我不会,有java代码的给你个建议:你的代码应该是输出的若干行同一个学生的信息吧?修改如下:在servlet里sessio.setAttribute("rs",rsAll);
然后jsp里接受:ResultSet rsAll=session.getAttribute("rs");然后就是循环输出了,简单的说就是把session里保存ResultSet对象就行了!
热心网友
时间:2022-04-10 03:03
servlet里呢 你就返回一个list
request.setAttribute("datelist",datelist);
jsp中呢: if(request.getAttribute("datalist")!=null){
ArrayList<Student> list=(rrayList<Student>)request.getAttribute("datalist");
}
这样你就得到你的学生list了 遍历吧
没有java代码啊 你就去用 jstl 或者 ognl了追问哈哈,我的意思就是JSTL,我再servlet里就设置了session.setAttribute("rs", rsAll);
只是不知道传到JSP页面怎么处理,rs是ResultSet类型的,应该也是集合,关键是到了jsp页面用JSTL鄙视就不行了,谢谢!
热心网友
时间:2022-04-10 04:55
不要java代码的话,可以用JSTL和EL表达式