当前位置: 首页 > 知识库问答 >
问题:

将servlet中的结果集值添加到jsp中的复选框

司空炯
2023-03-14

我需要帮助在不使用JSTL实现的情况下将结果集值从servlet添加到jsp中的复选框中

工作流程:

1.用户在文本框中输入一个值,然后单击搜索按钮

2.单击“搜索”后,将调用servlet。servlet专注于数据库实现,并将结果集值转发到来自请求的同一jsp页面。

3.结果集值应以jsp中复选框的形式显示

问题:

结果集值将打印在我的jsp页面中。我需要在jsp页面中将结果集值显示为复选框值,而不是打印所有值。我的结果集大小是3。

这是我的代码:

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>

产品列表。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();
if(rs!=null)
 {
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());
            }
                }

}

}

共有1个答案

卫嘉泽
2023-03-14

试试这个:

for(Products prod: pdts){
       out.println("<input type=\"checkbox\" name=\"prod\" value=\"" + prod.getProductname() + "\">" + prod.getProductname() + "<br>");
     }
 类似资料:
  • 我需要帮助将结果集值从servlet转发到jsp,而不使用JSTL实现 工作流程: 用户在输入框中输入值并单击搜索按钮 单击搜索时会调用servlet。servlet专注于数据库实现并将结果集值转发到请求所在的同一jsp页面。 问题:我的结果集大小是3,但仅表顶部的值就打印在我的jsp页面中。其余2个值缺失。我希望所有的值都打印在我的jsp页面中。 这是我的代码: Productlist.jsp

  • 我想在Python 3.6中的中将列名添加到Groupby的结果中。 我尝试了以下代码: 结果 它看起来像是一个列标题,但是尝试按名称对列进行寻址会产生异常。 我在寻找这个结果。

  • 问题内容: 我正在编写NIO服务器,并希望根据用户请求进行响应,即将一些数据写入通道。 读取一些数据后,我想响应。这意味着我需要添加到键,然后将键添加到“ 选定键”集中 ,然后一旦键出现在选定集中,就将一些内容写入通道。 如何将密钥显式添加到所选集中? 问题答案: 你不能 从Javadoc: 键可能无法直接添加到所选键集中。 您只能从中删除密钥。 但是您不需要任何这些。如果要写,只需写,且 仅当

  • 我想将结果添加到resultset,并使用table显示结果,这是我的java代码 错误显示"未找到列'Janunary'。" 很抱歉我没有获得足够的声誉,所以我将存储过程的结果写如下。 查询代码:

  • 我想发送到后端如果一个输入复选框已经被选中或没有。 这是正确的做法吗?因为我有个例外: TypeMismatchException:未能将类型“java.lang.String”的值转换为所需类型“java.lang.Boolean”;嵌套异常是java.lang.IllegalArgumentException:无效的布尔值[2] 我在后端以这种方式读取参数:

  • 我正在尝试将某些值从servlet传递到JSP页面,并添加已传递到标记的值,阅读了许多文章,我得到了以下代码。 使用输入页面选择文件 验证上传的文件 调用上传。java将上传的文件保存在WEB-INF中 在上载的文件中,选定的文件保存为“我的”。txt 使用缓冲区读取文件内容并将其保存到变量 将其传递到JSP页面 上载JAVA 上传文件后, mypage.jsp 现在,当我点击上传按钮完成所有这些