0
我想在点击一行网页时调用java函数。 我没有得到调用它的正确语法。 或者我应该使用JavaScript连接我的数据库,如果这是一个合适的方法。? 我米使用以下代码:通过onclick调用jsp中定义的Java函数
<%
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/lvcdatabase","root","mayank");
String query = "Select * from kitchentable;";
PreparedStatement pst = conn.prepareStatement(query);
ResultSet rs =pst.executeQuery(query);
while(rs.next()){
%>
<form action="processorder" method="">
<table id="example" >
<%String s = String.valueOf(rs.getInt("orderno"));
int i = rs.getInt("orderno");%>
<tr id="row<%=s%>" onclick="a(<%=s%>)" onclick="update(<%=s%>)">
onclick="<%update(s);%>" works but it calls java function when page is loaded everytime. Onclick loses its significance...
<td><%=rs.getInt("orderno")%></td>
<td><%=rs.getString(3)%></td>
<td><%=rs.getString(3)%></td>
<td><%=rs.getString(5)%></td>
<td><input class="service" id="service<%=s%>" onclick="b(<%=s%>)" type="button" value="Service Status"></td>
</tr>
<tr id="buttonrow">
<td colspan="1"></td>
<td colspan="1"><input type="button" style="background-color:#ff0000" value="Pending" id="redbutton<%=s%>" class="statusbutton"></td>
<td colspan="1"><input type="button" style="background-color:#ffbf50" value="Cooking" id="amberbutton<%=s%>" class="statusbutton"></td>
<td colspan="1"><input type="button" style="background-color:##e5ffe5" value="Cooked" id="greenbutton<%=s%>" class="statusbutton"></td>
<td colspan="1"></td>
</tr>
</form><br>
<%} %>
</table>
<%rs.close();
pst.close();
conn.close();
}catch(Exception e){
System.out.println("Error: "+e.getMessage());
}
%>
我的Java函数
<%!public void update(String f){
String l = f;
new BusinessFunctions().updateStatus(l);
}
%>
您必须了解哪些代码执行的区别:JSP在服务器**上执行**并生成HTML(和JavaScript等),然后在浏览器**中运行**。如果您需要从浏览器调用服务器端代码,请使用[AJAX](http://stackoverflow.com/questions/tagged/ajax)。 –