我需要帮助将结果集值从servlet转发到jsp,而不使用JSTL实现
工作流程:
问题:我的结果集大小是3,但仅表顶部的值就打印在我的jsp页面中。其余2个值缺失。我希望所有的值都打印在我的jsp页面中。
这是我的代码:
Productlist.jsp
<%@page import="java.util.List"%>
<%@page import="web.Products"%>
<%@page import="java.util.ArrayList"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Products</title>
</head>
<body>
<form method="post" align="center" action="ProductList">
Company Name:<input type="text" size="20" id="company" name="company" />
<input type="submit" value="search"/>
<%
List<Products> pdts = (List<Products>) request.getAttribute("list");
if(pdts!=null){
for(Products prod: pdts){
out.println("<br/>" + prod.getProductname());
}
}
%>
</form>
</body>
</html>
Products.java
public class Products {
private String productname;
public String getProductname() {
return productname;
}
public void setProductname(String productname) {
this.productname=productname ;
}
}
产品列表。java(servlet代码)
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpSession;
public class ProductList extends HttpServlet {
static final String dbURL = "jdbc:mysql://localhost:3306/pdt";
static final String dbUser = "root";
static final String dbPass = "root";
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
ResultSet rs = null;
Connection connection = null;
List<Products> pdt = new ArrayList<Products>();
try{
String company =request.getParameter("company");
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection (dbURL,dbUser,dbPass);
String sql="select product_pck from comp_pdt_list where company_name='"+company+"'";
PreparedStatement prep = connection.prepareStatement(sql);
rs=prep.executeQuery();
while(rs.next()) {
Products prod=new Products();
prod.setProductname(rs.getString("product_pck"));
pdt.add(prod);
request.setAttribute("list",pdt);
RequestDispatcher rd=request.getRequestDispatcher("Productlist.jsp");
rd.forward(request,response);
return;
}
prep.close();
} catch(Exception E) {
//Any Exceptions will be caught here
System.out.println("The error is"+E.getMessage());
} finally {
try {
connection.close();
} catch (Exception ex) {
System.out.println("The error is" + ex.getMessage());
}
}
}
}
在while循环中设置要请求的属性。因此,“列表”只包含一种产品。(方法在第一次迭代时返回)
将产品添加到while循环中的列表中,并仅在while循环之后设置列表(请求属性)。
以下应该可以修复它:
while(rs.next()){
Products prod=new Products();
prod.setProductname(rs.getString("product_pck"));
pdt.add(prod);
}
request.setAttribute("list",pdt);
RequestDispatcher rd=request.getRequestDispatcher("Productlist.jsp");
rd.forward(request,response);
问题内容: 这是我的问题:我需要存储 很多 日志消息,并认为将其保存在SQLite3数据库中以能够轻松搜索和过滤它是明智的。 我将在标准列表窗口小部件(使用wxWidgets)中显示日志消息。该列表将包含几列,用户可以对其进行排序和过滤。 现在,我不确定什么是最好的处理方式。我正在考虑一些可能的解决方案: 将所有消息读取到内存。当有新的或更改的日志消息时(在列表中的任意位置),必须刷新整个列表。当
我需要帮助在不使用JSTL实现的情况下将结果集值从servlet添加到jsp中的复选框中 工作流程: 1.用户在文本框中输入一个值,然后单击搜索按钮 2.单击“搜索”后,将调用servlet。servlet专注于数据库实现,并将结果集值转发到来自请求的同一jsp页面。 3.结果集值应以jsp中复选框的形式显示 问题: 结果集值将打印在我的jsp页面中。我需要在jsp页面中将结果集值显示为复选框值,
我正在尝试将某些值从servlet传递到JSP页面,并添加已传递到标记的值,阅读了许多文章,我得到了以下代码。 使用输入页面选择文件 验证上传的文件 调用上传。java将上传的文件保存在WEB-INF中 在上载的文件中,选定的文件保存为“我的”。txt 使用缓冲区读取文件内容并将其保存到变量 将其传递到JSP页面 上载JAVA 上传文件后, mypage.jsp 现在,当我点击上传按钮完成所有这些
我对html和java非常陌生。 我有一个java函数 代码如下: 以下是我输入的html代码: 例如 超文本标记语言: JAVA:
我是jQuery新手,在jsp中将数据从servlet显示到jqGrid时遇到了困难。我使用google gson将数据从ArrayList转换为字符串变量json。当我运行项目时,它在控制台中显示json数据,并显示一个空网格。 Student.java 学生数据服务。JAVA 我的servlet代码: ervlet.java 我的JSP页面: 滑溜的网格演示。jsp
我正在从数据库中读取pdf文件列表,对它们进行解析,并用它们执行一些任务 当我阅读这个pdf列表时,我发现从pdf中提取图像需要花费更多的时间,而且我不需要阻止我的主线程来阅读图像。所以我想在一个单独的线程中执行提取图像 我想从一个又一个pdf中读取图像,而不是一次将所有pdf加载到内存中(由于内存问题)。所以我只想要两条线;一个应该是主线程(从pdf中读取一些文本并执行其他操作),另一个应该是提