初学java,我想用jsp遍历输出数据库的信息,帮我看一下问题到底是什么

初学java,我想用jsp遍历输出数据库的信息,帮我看一下问题到底是什么,第1张

空指针异常,gameCommentssize()这里的问题,gameComments为null导致的。原因可能性很多,可能是数据没导入数据,也可能是后台封装类的问题,要看具体代码。

在获取完所有的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();//得到所需要的结果集

}

JSP页面 显示数据库不同表的内容,需要把不同表的数据分别封装到list中。

<span style="font-size:12px;"><span style="font-size:14px;"><%@ page language="java" import="javasql,javaio,javautil"%>

<%@ page contentType="text/html;charset=utf-8"%>

<html>

<head>

<style type="text/css">

table {

border: 2px #CCCCCC solid;

width: 360px;

}

td,th {

height: 30px;

border: #CCCCCC 1px solid;

}

</style>

</head>

<body>

<%

//驱动程序名

String driverName = "commysqljdbcDriver";

//数据库用户名

String userName = "root";

//密码

String userPasswd = "szy";

//数据库名

String dbName = "studentmanage";

//表名

String tableName = "student";

//联结字符串

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);

%>

<br>

<br>

<table align="center">

<tr>

<th>

<%

outprint("学号");

%>

</th>

<th>

<%

outprint("姓名");

%>

</th>

<th>

<%

outprint("专业");

%>

</th>

<th>

<%

outprint("班级");

%>

</th>

</tr>

<%

while (rsnext()) {

%>

<tr>

<td>

<%

outprint(rsgetString(1));

%>

</td>

<td>

<%

outprint(rsgetString(2));

%>

</td>

<td>

<%

outprint(rsgetString(3));

%>

</td>

<td>

<%

outprint(rsgetString(4));

%>

</td>

</tr>

<%

}

%>

</table>

<div align="center">

<br> <br> <br>

<%

outprint("数据查询成功,恭喜你");

%>

</div>

<%

rsclose();

statementclose();

connectionclose();

%>

</body>

</html></span><span style="font-size:24px;color: rgb(255, 0, 0);">

</span></span>

展示结果如下:

你要显示数据库中的数据,首先要建立连接,连到数据库。至于在servlet还是struts类,还是jsp页面是设计问题。最笨的方法就是在jsp里面嵌入java代码,连接数据库,写查询语句,将返回结果保存在容器中,如vector,然后显示。

foreach 一般 是针对 List 对象的,才存在 遍历

你的 syscount 是啥啊? 还能put?是个Map?

Map 想要啥的话 直接“” 就可以了呀

就是 直接${syscountabc}

再说你即使非要 遍历Map

也是${syskey } 有getKey 属性?确定不是 getKey() 方法?

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,我想用jsp遍历输出数据库的信息,帮我看一下问题到底是什么全部的内容,包括:初学java,我想用jsp遍历输出数据库的信息,帮我看一下问题到底是什么、JSP中如何将查询数据库返回的数据分页显示在页面中、在一个JSP页面 显示数据库不同表的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10135296.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存