java - 使用主键在jsp中显示mysql数据库中的所有数据

标签 java mysql jsp

作为学习的一部分,我正在创建一个电子商务项目。我想在同一个 JSP 页面上显示某个类别中的所有产品。例如,如果用户单击“笔记本电脑”类别,我必须显示该类别中的所有可用产品。所有类别的所有产品都集中在一张大表中。

我的数据库方案是:

create table products(product_id varchar(20),
product_name varchar(20), 
product_prize varchar(20),
product_category varchar(20),
primary key(product_id) );

我的主键是product_id。然而,我当前的实现需要针对每个单独的 product_id 单独的 JSP 页面。当我有很多产品时,这并不实用。

类别页面示例,lapcategory.jsp:

<% int sec1=1;
   int sec2=2;
   int sec3=3;
   int sec4=4;
   int sec5=5;
   int sec6=6;
%>

<td>
  <center>
  <%if (sec1 ==1){ %>
    <jsp:include page="includesPage/_sec1.jsp"></jsp:include>
  <% } %> 
  </center>
</td>

<td>
  <center>
  <%if (sec2 ==2){ %>
    <jsp:include page="includesPage/_sec2.jsp"></jsp:include>
  <% } %>
  </center>
</td>

这链接到各个部分页面。然后,我还有部分页面 _sec1.jsp_sec2.jsp 等,并使用 product_id 获取数据。例如,_sec1.jsp:

String idn="20";

DB_Conn con = new DB_Conn();
Connection c = con.getConnection();
Statement statement = c.createStatement() ;
ResultSet resultset = statement.executeQuery("select product_id,product_name,product_desc,product_prize from product where product_id="+idn);

while(resultset.next()){ 

  String product_id = resultset.getString(1);
  String product_name = resultset.getString(2);
  String product_desc = resultset.getString(3);
  String product_prize = resultset.getString(4);
  %>

  <div id="se1">   
    <a href="product.jsp?id=<%=product_id%>"><% out.println(product_name); %></a><br>
    <a href="#">Rs.<% out.println(product_prize); %></a>

<%
} %>

</div>

基本上,我必须为每个产品 ID 创建单独的内页,这显然不容易处理。我的问题是,执行此操作的正确方法是什么?也许使用 ArrayList 的东西?

最佳答案

我理解你的问题,但我建议不要在jsp中编写数据库查询相关代码,创建一个DAO,查询数据库,然后将结果设置在一个数据对象中,数据对象将包含你需要显示的所有属性在 JSP 中。从 db 读取数据时设置此 Data 对象中的值,然后将该 dataObject 放入一个 arrayList 中,并将该 arrayList 填充到 Jsp 的 .这样您就可以在一个jsp的帮助下显示所有产品,而无需创建单独的jsp。

关于java - 使用主键在jsp中显示mysql数据库中的所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29429652/

相关文章:

java - 使用 session 在 servlet 中存储和检索 JSP 中的值

java - spring 框架(Java)中是否有相当于 phpinfo 的东西?

java - Netbeans 中没有哪些新的 Swing 组件?

Java 线程问题

php - 如何使用 Yii2 更新/插入值数组到数据库(一个 id 的多个值重复)

php - 无法连接到远程主机上的 mysql 数据库

java - 将值传递给自定义标记并给出 NumberFormatException

java - 它的 Java 代码在此代码中显示算术异常我该如何解决?

mysql - 用于创建本地 MySQL 数据库的现有 .rb 文件

java - 如果浏览器已停止,我怎样才能停止这个 JSP?