将值从Server传递到JSP到javascript函数

时间:2011-08-16 11:49:07

标签: java netbeans

我有一个严重的问题。

首先,我试图通过JSP页面上的各个脚本从我的数据库中检索值。以下是代码的一部分:


<%String driver = "com.mysql.jdbc.Driver";

Class.forName(driver).newInstance();

Connection con=null;

ResultSet rst=null;`

Statement stmt=null;

try{

String url="jdbc:mysql://localhost:3306/MajorProjectDB?user=cdsadmin2&password=enjoyit";

con=DriverManager.getConnection(url);

stmt=con.createStatement();

}
catch(Exception e){
System.out.println(e.getMessage());
}

String name= request.getRemoteUser();

rst=stmt.executeQuery("select verifycode from Staff where name='"+name+"'");
%>

<%
int no=1;`
while(rst.next()){

%>

<%=no%>

<%=rst.getString("VERIFYCODE")%>

<%String code= request.getParameter("code"); %>

<% } %>

在此代码中,我在Staff表中存储来自 VERIFYCODE 列的字符串。 我可以使用getparameter将其与表单中的用户输入进行比较。

但是,应该使用onClick函数进行比较,但由于它作为单个脚本运行,因此无法附加到onClick函数。

现在我尝试在我的JSP页面中的以下javascript中插入一条SQL语句:


<script type="text/javascript">

function verifyCode(){ 

// a SELECT sql statement which gets String from database

//comparison between String retrieved from database and user input

if{

  }

else{

}

}

</script>

我知道是否有人有任何解决方案?或者有更简单的方法吗? 在此先感谢,非常感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

服务器将jsp转换为HTML并发送到客户端和客户端只获取HTML javascript在客户端执行。

对于您的情况,您可以使用DWR从javascript

中调用服务器的java方法

另见

答案 1 :(得分:0)

JSP是服务器端,javascript是客户端!

您的javascript无法在客户端的数据库中插入任何内容

一些提示: 丢弃scriptlet并使用适当的视图逻辑和业务逻辑分离。