Я хочу вызвать функцию java при щелчке по строке моей веб-страницы. Я не получаю правильный синтаксис вызова. Или я должен использовать javascript для моей базы данных, если это подходящий метод.? Я использую следующий код:Вызов функции Java, определенной в jsp через onclick
<%
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());
}
%>
Моя функция ява
<%!public void update(String f){
String l = f;
new BusinessFunctions().updateStatus(l);
}
%>
Вы должны узнать разницу в том, где выполняется код: JSP выполняется ** на сервере ** и генерирует HTML (и JavaScript и т. Д.), Который затем запускается ** в браузере **. Если вам нужно вызвать серверный код из браузера, используйте [AJAX] (http://stackoverflow.com/questions/tagged/ajax). –