如何将 JSP 中的 ResultSet 对象发送回 HTML (JavaScript)?

2023-12-14

我有一个查询 MySQL 数据库的 JSP 页面,我想将 Resultset 对象作为响应对象发送到 HTML 页面?我需要结果集对象来填充表格和图表。

  1. 如何将 resultSet 对象转换为 javascript 对象?

  2. 如何将 resultSet 对象从 JSP 发送到 HTML? (我的意思是语法)

我正在使用获取xmlHTTPrequest调用JSP页面


不要使用 JSP。使用 Servlet 查询数据库,获取List与结果并将其转换为 JS 可以无缝使用的 JSON 字符串。

首先创建一个 javabean 类,它代表 DB 表的一行。例如。Product.

public class Product {
    private Long id;
    private String name;
    private String description;
    private BigDecimal price;

    // Add/generate c'tors, getters, setters and other boilerplate.
}

创建一个 DAO 类来触发查询并映射ResultSet to a List<Product>.

public class ProductDAO {

    // ...

    public List<Product> find(String search) throws SQLException {
        Connection connection = null;
        PreparedStatement statement = null;
        ResultSet resultSet = null;
        List<Product> products = new ArrayList<Product>();

        try {
            connection = database.getConnection();
            statement = connection.prepareStatement(SQL_FIND);
            statement.setString(1, search);
            resultSet = statement.executeQuery();
            while (resultSet.next()) {
                Product product = new Product();
                product.setId(resultSet.getLong("id"));
                product.setName(resultSet.getString("name"));
                product.setDescription(resultSet.getString("description"));
                product.setPrice(resultSet.getBigDecimal("price"));
                products.add(product);
            }
        } finally {
            if (resultSet != null) try { resultSet.close(); } catch (SQLException logOrIgnore) {}
            if (statement != null) try { statement.close(); } catch (SQLException logOrIgnore) {}
            if (connection != null) try { connection.close(); } catch (SQLException logOrIgnore) {}
        }

        return products;
    }
}

然后创建一个 Servlet 类,它使用 DAO 类来获取产品,并在以下命令的帮助下将其转换为 JSON 字符串谷歌Gson.

public class ProductServlet extends HttpServlet {

    // ...

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        try {
            List<Product> products = productDAO.find(request.getParameter("search"));
            response.setContentType("application/json");
            response.setCharacterEncoding("UTF-8");
            response.getWriter().write(new Gson().toJson(products));
        } catch (SQLException e) {
            throw new ServletException("DB error", e);
        }
    }
}

将此 servlet 映射到web.xml on an url-pattern of /products并在 JavaScript 中调用它,如下所示(我正在使用jQuery因为它消除了跨浏览器敏感的样板文件,因此您最终使用的 JavaScript 代码会减少 10 倍)。

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>SO question 4407861</title>
        <script src="http://code.jquery.com/jquery-latest.min.js"></script>
        <script>
            $(document).ready(function() {
                $('#searchform').submit(function() {
                    $.getJSON("products", $(this).serialize(), function(products) {
                        var table = $('#resulttable');
                        $.each(products, function(index, product) {
                            $('<tr>').appendTo(table)
                                .append($('<td>').text(product.id))
                                .append($('<td>').text(product.name))
                                .append($('<td>').text(product.description))
                                .append($('<td>').text(product.price));
                        });
                    });
                    return false;
                });
            });
        </script>
    </head>
    <body>
        <form id="searchform">
            <input type="text" name="search">
            <input type="submit">
        </form>
        <table id="resulttable"></table>
    </body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 JSP 中的 ResultSet 对象发送回 HTML (JavaScript)? 的相关文章

  • 将值传递给映射函数 - CouchDB

    我想知道是否可以将值传递给 couchDB 设计文档中的映射函数 例如 在下面的代码中 可以传递用户输入的值并使用该值来运行地图函数 也许我可以传递用户UserName当他们登录时 然后根据地图功能显示视图 function doc if
  • 在 Javascript 中隐藏按钮

    在我最新的程序中 有一个按钮 单击时会显示一些输入弹出框 这些框消失后 如何隐藏按钮 You can set its visibility财产 http www w3schools com cssref pr class visibilit
  • 通过标记或JS强制下载

    假设我在 CDN 来自 Rackspace 的云文件 上有一个文件 以及一个包含该文件链接的静态 html 页面 有什么方法可以强制下载此文件 以防止它在浏览器中打开 例如 mp3 我们可以让我们的服务器读取该文件并将相应的标头设置为 he
  • html/js 中从右到左和/或从上到下的文本?

    如何在浏览器中为用户输入创建从右到左和从上到下的文本字段 有没有本地方法可以做到这一点 或者也许有解决方法 从上到下可能像日语或象形文字 对于 RTL 文本字段 您可以使用 HTMLdir属性 如 ime Vidas 已经提到的 或 wit
  • Angular 4 - 具有动态参数值的自定义验证器

    我编写了一个自定义验证器 用于检查日期是否高于某个最小日期 代码如下所示 export function validateMinDate min Date ValidatorFn return c AbstractControl gt if
  • 滚动条宽度:细在 Firefox 中不起作用

    我刚刚在 Firefox 67 中实现了新的 css 滚动条颜色和滚动条宽度 滚动条宽度不起作用 无论我将其设置为自动 细化还是无 它都会显示相同的宽度 我想要它薄 但它不薄 我是这样实现的 root scrollbar color rgb
  • GraphQL 错误字段类型必须是输入类型,但得到:

    这是突变 const createNotebook mutationWithClientMutationId name CreateNotebook inputFields token type GraphQLString details
  • 发送带有图像的嵌套 JSON

    我一直在尝试研究一种能够通过 Ajax 将嵌套 JSON 请求发送回服务器的方法 根据我的理解 我们主要用于向服务器发送图像或文件的 formdata 在这种情况下不起作用 因为 FormData 似乎不处理嵌套对象 这就是我需要发送的有效
  • 在 Bootstrap 选择器上使用 jQuery 取消选择选项

    我对一些 UI 元素使用 Bootstrap SelectPicker 它允许用户选择多个选项并将其呈现在段落标签中的屏幕上 他们还应该能够删除选定的选项 这是我的代码 用于将选定的选项渲染到屏幕上 以便每个选项旁边都会显示一个 X 单击它
  • 重复 Pinterest Facebook 邀请功能

    I m trying to duplicate Pinterest s Invite Friends functionality In case you haven t seen what it looks like it looks li
  • 将“http://”添加到尚未包含“http://”的 URL 前面

    我有一个input保存 URL 的字段 我希望这个保存的输入能够识别变量开头不存在 Http 但不知道从哪里开始 是否可以仅检查字符串的一部分 然后有一个在必要时追加的函数 如果您还想允许 https 我会使用如下正则表达式 if http
  • javascript 中的工厂模式与构造函数模式[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我看到了关于 javascript 设计模式的教程 虽然教程很好 但它给我留下了很少的问题 正如我所见 工厂和构造函数产生相同的结果
  • LightningChart JS - LineSeries / Progressive X 的损坏

    我在使用 LightningChart 时遇到了一个有趣的问题 它似乎会破坏或以其他方式减少我的数据 具体取决于它与图表的 DateOrigin 的距离 我的数据是每秒 1000 个样本 我试图一次显示 1 2 周的数据 我正在使用 Cha
  • 如何在传单地图上显示热图

    我想在我的传单地图上显示热图 我使用了 heatmap jshttps github com pa7 heatmap js https github com pa7 heatmap js但它最终只是显示 未捕获的类型错误 无法分配给只读属性
  • 如何转义 onClick 处理程序内 JavaScript 代码中的字符串?

    也许我只是想得太难了 但我在弄清楚链接的 onClick 处理程序内的某些 JavaScript 代码中的字符串上使用什么转义时遇到了问题 例子 a href Select a The and 是发生模板替换的地方 我的问题是项目名称可以包
  • Bootstrap 面板主体,内有表格

    我有一个引导面板 单击图标即可折叠并自动关闭 该面板内部包含一个全宽的表格 但只有在没有任何内容时才看起来像这样panel body 例如 这张桌子横跨面板的整个宽度和高度 看起来不错 但如果我可以有一个围绕桌子的类 我会更喜欢 但是 如果
  • 如何使用 JQuery 创建新的 img 标签,并使用 JavaScript 对象中的 src 和 id?

    我从基本意义上了解 JQuery 但对它绝对是新手 并且怀疑这很容易 我在 JSON 响应中获得了图像 src 和 id 转换为对象 因此在 responseObject imgurl 和 responseObject imgid 中获得了
  • 如何拦截javascript中innerHTML的变化?

    我需要拦截网页内单元格内容的任何更改 以下代码显示 addEventListener 不起作用 function modifyText alert var el document getElementById mycell el inner
  • 在用户单击之前图像不会绘制在画布上?

    我使用执行类似以下操作的函数绘制几张图像 context drawImage img width 2 1 height 2 1 width height 我读过 我需要等待图像加载后才能绘制它 如下所示 img onload functio
  • 如何在流体宽度表中使用省略号而不使每列大小相同?

    假设我的表中的列是id name description and phone The description列的长度为 1 255 个字符 但 id 最多只有 3 个字符 我希望列的大小适当 而不是每列的大小相同 我想要descriptio

随机推荐

  • 在 GWT 中使用查询字符串

    我必须创建一个包含用户 ID 和电子邮件参数的动态 URL 它将直接指向我的 GWT 应用程序中的注册表单 我想设置和获取查询字符串中的参数 我已经提到tphttp code google com p gwt examples source
  • 无法使用java命令行打开PDF文件

    我正在尝试使用命令行参数从 java 打开 PDF 文件 String command cmd c start AcroRd32 exe dir 但是当文件自动打开时我收到错误 Windows cannot find acroRd32 ex
  • 线程访问另一个线程的堆栈

    我的想法是否正确 线程可以访问另一个线程堆栈中存在的变量 这是假设实例化堆栈变量的函数尚未返回 我想我在某处读到线程应该只共享堆内存 但我现在怀疑这是否正确 这是在 C 中使用 POSIX pthreads 严格来说 从提供线程支持 但接口
  • 什么是 XAML 在未处理的异常和 app.g.i.cs 文件上生成的中断

    我是 Windows 应用程序开发新手 我正在尝试使用 x64 平台在本地计算机上执行解决方案 但每当我执行 Button Click 事件时 我都会收到此异常 if DEBUG DISABLE XAML GENERATED BREAK O
  • jQuery 添加的 div 上的 Google 地图 addDomListener 只能看到循环的最后一次迭代

    我有以下简单的脚本 var fruits new Array apple orange lemon fruit canvas append Mouse over these fruits for var i 0 i lt fruits le
  • maven-cxf-codegen-plugin 使用 Jaxb 绑定为所有生成的类添加继承

    我正在使用 Apache CXF 的 cxf codegen plugin 将 wsdl 转换为 java 对象 我指定了一个绑定文件来添加额外的 jaxb 处理 我希望所有这些文件都从接口继承 或扩展抽象类 我的问题是 虽然我可以使用一个
  • 基于 Leaflet 和 AngularJS 的地图未正确加载

    我的基于 Leaflet 和 AngularJS 的地图无法正确加载 我不知道发生了什么 但地图图块没有按应有的方式布局 这是底图 这是我的代码 function setMapPosition scope center lat 51 505
  • 在shinyApp中使用R text2vec包和LDAvis的LDA主题模型

    以下是使用 R text2vec 包进行 LDA 主题建模的代码 library text2vec tokens docs text gt docs text a colection of text documents word token
  • 对 tsvector 中的每个元素使用 Levenshtein 函数?

    我正在尝试使用 Postgres 创建模糊搜索 并一直使用 django watson 作为基本搜索引擎来工作 我有一个名为 search tsv 的字段 它是一个 tsvector 其中包含我要搜索的模型的所有字段值 我想使用 Leven
  • 在网页中添加“导出到 Excel”按钮,以在 Web 应用程序中将 gridview 导出到 Excel

    我为诊所构建了一个患者管理软件 我需要将患者列表从 ASP net 网格视图导出到 Excel 文件 我的问题是 有没有办法将gridview导出到excel 我正在使用 vb net 和 Visual Web Developer 2010
  • 在 BeautifulSoup 中将一个标签替换为另一个标签

    我试图在 XML 文档中查找标签 并用新标签完全替换它 我认为下面应该有效 para monograph find para text Some text newpara
  • 如何在R中将减号从右移到左/从后到前?

    我已从文本文件导入数据 负数的形式为 100 右侧的减号 我应该将其转换为 100 任何想法 提前致谢 我们可以使用以下方法来做到这一点sub 我们将数字作为一个组来捕获 d 后面跟着一个 在最后 的字符串并替换为 接下来是反向引用 1 的
  • navigator.getusermedia

    我正在研究 html5 新规范 尤其是网络摄像头功能 By 按照本教程 我收到以下错误 Native web camera streaming getUserMedia is not supported in this browser 这是
  • 使用 Python OpenCV 删除图像的黑色标题部分

    我需要使用 Python CV 删除图像多个部分的黑色部分 我尝试过去噪 但没有给出令人满意的结果 例如 我需要删除表标题中的黑色部分 下图 并将标题背景转换为白色 内容为黑色 谁能帮助我选择正确的库或解决方案来克服这个问题 正如您所看到的
  • 在 Jetpack Compose 中创建垂直滑块

    我正在构建一个Android应用程序 需要在同一页面中创建多个垂直滑块用于音乐均衡器调整 但我只能从官方材料设计文档中找到水平滑块 我尝试从官方文档中实现默认滑块并使用修改器旋转它并且它可以工作 但问题是我现在无法使用调整高度Modifie
  • 如何设置 DJANGO_SETTINGS_MODULE 环境变量?

    我正在尝试修复在 django 应用程序中看到的一个不发送邮件的错误 请注意 该应用程序运行良好 只是邮件功能失败了 我尝试收集错误日志 但找不到与发送邮件相关的任何错误 所以 我做了一个例子来尝试强制错误 这是示例 from django
  • Windows 7 64 位上的 eslint-v8 Ruby gem 安装问题

    在 Windows 7 64 位 上设置 Rally App SDK 2 0p 环境时出现问题 我已经从 ruby installer org 安装了 Ruby 1 8 7 p358 并成功安装了 rake Ruby gem 但我安装时遇到
  • 使用 MediaStore 在 Android Q 中创建/复制文件

    我正在尝试找到一种方法 可以处理除媒体文件 图片 视频 音频 之外的任何文件的创建和复制 以便从 Android Q 内部存储中的一个位置复制到另一个位置 在此 我在应用程序文件夹中创建了我的文件我希望将它们移动到下载文件夹或我可以在内部存
  • iTextSharp 中的 PDF 坐标系

    现在我正在使用 iTextSharp 从 PDF 中提取线条和矩形 我使用的方法如下 PdfReader reader new PdfReader strPDFFileName var pageSize reader GetPageSize
  • 如何将 JSP 中的 ResultSet 对象发送回 HTML (JavaScript)?

    我有一个查询 MySQL 数据库的 JSP 页面 我想将 Resultset 对象作为响应对象发送到 HTML 页面 我需要结果集对象来填充表格和图表 如何将 resultSet 对象转换为 javascript 对象 如何将 result