在SQL预处理语句中放入javascript变量(java)

时间:2013-06-18 13:21:42

标签: java javascript html mysql spring-mvc

如何放置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 " ')");

在prepearedstatement中,它说SELECTITEMVARIABLE,我怎样才能使用javascript中的selectItem? 抱歉英文不好,谢谢!

2 个答案:

答案 0 :(得分:4)

根本不可能。

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

您需要做出服务器请求。并将该字符串发送给query parameter

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

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

答案 1 :(得分:2)

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