jsp中根据id查询出来,怎么让它在页面显示数据库里面的信息

jsp中根据id查询出来,怎么让它在页面显示数据库里面的信息,第1张

先定义一个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的数据表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/10198862.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存