
先定义一个ResultSet
rs对象
把查询后的ResultSet集复制给rs
然后通过调用rs的next()方法将指针向下移动
实现循环显示数据
数据的显示是调用rs的getXxxx(列名或列号)
其中Xxxx是数据类型
如while(rsnext()){outprint(rsgetString(列名))}
希望能帮到你
1、在后台定义一个Servlet或者Action,接收jsp的参数去数据库查询数据,返回List
2、将从数据库查询的数据放在request中,如requestsetAttribute("studentList",studentList),输出到对应的jsp页面。
3、在jsp页面引入jstl标签,定义好一个html表格头
4、用jstl获取后台查询的数据,利用<c:foreach>标签循环输出到表格的<tr>中。
示例:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><html>
<body>
<table class="table table-bordered" >
<tr>
<th style="text-align:center;width:2%">序号</th>
<th style="text-align:center;width:5%">姓名</th>
<th style="text-align:center;width:6%">年龄</th>
</tr>
<c:forEach items="${studentList}" var="student" varStatus="status">
<tr>
<td style="text-align:center;">${status}</td>
<td style="text-align:center;">${studentusername}</td>
<td style="text-align:center;">${studentage}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
在页面中写Java片段 比如:
<%
//驱动程序名
String driverName = "commysqljdbcDriver";
//数据库用户名
String userName = "自己的";
//密码
String userPasswd = "自己的";
//数据库名
String dbName = "自己的";
//表名
String tableName = "自己的";
//联结字符串
String url = "jdbc:mysql://localhost:3306/" + dbName + "user="
+ userName + "&password=" + userPasswd;
ClassforName("commysqljdbcDriver")newInstance();
Connection connection = DriverManagergetConnection(url);
Statement statement = connectioncreateStatement();
String sql = "SELECT FROM " + tableName;
ResultSet rs = statementexecuteQuery(sql);
%>
在struts2中的实现方法
<s:set name="userName" value=""/>
<s:iterator id="item" value="userList">
<s:set name="userName" value="#userName + ',' + itemuserName"/>
</s:iterator>
userName value is : ${userName}
如果需要分组的话,可用在里面做一些判断,比如:
<s:if test="userGroup == 1">
<s:set name="userName" value="#userName + ',' + itemuserName"/>
</s:if>
实际中可能要两层嵌套
整个过程基本实现是这样的,这个过程跨域任何框架,与底层应用框架无关。1 jsp页码中用户发出一个请求(可以是能够发出请求的任何方式)到一个能够处理请求的组件,我们称之为控制器(servlet 或 action 等)2 控制器调用业务层组件方法,业务层组件方法中调用dao(数据访问层)方法(此方法中实现从数据库中读取目标数据,通常封装为一个javabean对象,我们称之为实体bean)3 控制器获得封装数据库表的数据后,将其存储在作用域中,定位到要显示数据的jsp页面4 目标jsp页码中通常使用自定义标签实现在jsp的特定位置读取数据并显示
在获取完所有的list后只需要截取你所需要的一部分list就可以了,所以要知道你所需要的是从哪里开始,到哪里结束。
有很多种方法,如果只是JSP里的话可以再次遍历获取的所有list集合,然后把满足条件的截取出来,开始的list下标应该是:(你要查询的页数-1)页面要显示的数据条数,也就是你这里的(page-1)pageRows,结束的地方也就是pagepageRows-1了。//这样应该可以写出来了吧
建议把这个方法封装到一个类里面,一个方法就实现一种功能。当然这是比较麻烦的,现在流行框架,以后会学到的,在hibernate框架里用query语句很容易就实现了,现在时间多,
多看看hibernate框架吧,推荐你一本书,hibernate in action,有中文版的。这个是你们以后入门了hibernate后看的。
public List listOrderByItem(int pageRows,int page) { //page是要显示的页数,pageRows是你要显示的行数
Session session = thisgetSession();//获取hibernate的session,hibernate自动生成的DAO里包含
String hql = "from TBL_storage as tbl_s order by item";//hql语句
Query query = sessioncreateQuery(hql);//hibernate的query,通过session创建
querysetFirstResult((page-1)pageRows);//设置开始的下标
querysetMaxResults(pageRows);//设置每页显示的行数
return querylist();//得到所需要的结果集
给您一个范例,
这里从数据库Table user里取出来的数据ID 和Name 放入JavaBean UserBean里面,这里bean[]是UserBean的一个实例,用下面的代码可以循环取出显示出来:
<select name="selectUser">
<%
for (int i = 0; i < beanlength; i++) {
%>
<option value="<%=bean[i]getId() %>" ><%=bean[i]getName()%></option>
<%
}
%>
</select>
要是想要取出<select>这里所选的值,reuqestgetParameter("selectUser");
这样您就可以取出您所要的值了,注意要是value里面的值不是String类型的话
要用的时候,还得需要您类型转换。相信这个例子应该能回答,您的问题了。
以上就是关于jsp中根据id查询出来,怎么让它在页面显示数据库里面的信息全部的内容,包括:jsp中根据id查询出来,怎么让它在页面显示数据库里面的信息、JSP执行数据库查询,然后将查询结果用html表格的形式显示出来、如何在jsp上查询并显示数据库mysql的数据表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)