【问题标题】:Put in javascript Variable in SQL prepeared statement (java)在 SQL 准备语句中放入 javascript 变量(java)
【发布时间】:2013-06-18 13:21:41
【问题描述】:

如何放置 selectItem 变量:

        var e = document.getElementById("categoryName");
        var selectItem = e.options[e.selectedIndex].text;

在:

var theData = [ // Start of JavaScript data object

        <%
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/pyramid", "root", "test");
            PreparedStatement ps = con.prepareStatement("SELECT timeStamp, value FROM status WHERE idCategory = (SELECT idCategory FROM  category WHERE name =' " SELECTITEMVARIABLE " ')");

在说 SELECTITEMVARIABLE 的 prepearedstatement 中,我如何使用 javascript 中的 selectItem? 抱歉英语不好,谢谢!

【问题讨论】:

  • 你所问的在你现在的形式中没有任何意义。您将需要通过表单发布或 XHR 将客户端信息传回服务器。
  • 不可能按照您上面的设想。另外,如果您直接替换查询中的值,为什么要首先使用准备好的语句?
  • 我在客户端有控制器,我可以使用它们吗?还是我应该选择 Ajax

标签: java javascript html mysql spring-mvc


【解决方案1】:

根本不可能。

Java 脚本在客户端播放,JSP 在服务器端播放。

你需要的是你必须发出一个服务器请求。并将该字符串发送一个query parameter

你可能会误解 jsp 和 javascript 存在于同一个文档中。是的,但是 JSP 部分在服务器端编译本身来到客户端。

所以解决方案是:要么提交 html 表单,要么提交 Ajax 请求。

【讨论】:

  • 好的,谢谢,我想我应该选择 Ajax。我试图把这些数据放在谷歌图表中,你们不知道谷歌是否有这个功能?还是我需要自己做?非常感谢
  • @benskiiii 即使您必须在表单级别指定控件对吗?
  • 嗯,你有什么建议?什么最简单?
  • 现在很多人更喜欢异步数据加载。这就是 AJAX。
  • 好的,非常感谢,那就从那里开始。如果我可以投票,我肯定会这样做,你不能在路上帮我写一些代码吗?
【解决方案2】:

您需要将客户端值传递给服务器(通过 POST),从请求参数中读取它,然后将其附加到 SQL。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2015-07-25
    • 2020-10-11
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    相关资源
    最近更新 更多