通过onclick调用jsp中定义的Java函数

时间:2016-08-04 06:14:04

标签: jsp

我想在点击一行网页时调用java函数。 我没有得到正确的调用语法。 或者我应该为我的数据库使用javascript连接,如果这是一个合适的方法。 我使用以下代码:

Skill

我的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());
    }
    %>

1 个答案:

答案 0 :(得分:0)

onclick是客户端事件。

您只能指定任何javascript函数,您可以通过AJAX从中调用任何服务器端(JSP / Servlet)方法。

或者,您可以在onclick中构建一个URL:

 <a href="/yoururl?id="+<%=s%>>Order No</a>

从中你可以调用服务器端方法。