我有一个Java类::
package MyPackage; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import com.google.gson.Gson; public class PopulateTextbox { Gson gson = new Gson(); JSONObject obj = new JSONObject(); JSONArray arr = new JSONArray(); String temp1; String temp; List <String>rowValues = new ArrayList<String>(); List <Integer>rowValues1 = new ArrayList<Integer>(); String[] contactListNames; Connection con=null; Statement st=null; ResultSet rs=null; public String method(){ try{ String driver = "sun.jdbc.odbc.JdbcOdbcDriver"; Class.forName(driver); String db = "jdbc:odbc:Practice_Database"; con = DriverManager.getConnection(db,"",""); st = con.createStatement(); String sql = "SELECT Emp_Name,ID,Email_Add FROM EmployeeSearch"; rs = st.executeQuery(sql); while(rs.next()){ obj.put("ID", rs.getInt("ID")); obj.put("Names",rs.getString("Emp_Name")); obj.put("Email", rs.getString("Email_Add")); arr.add(obj); } //obj.accumulate("ID",rowValues1); //obj.accumulate("Names",rowValues); temp1 = arr.toString(); System.out.println(temp1); }catch(Exception e){System.out.println(e);} /*finally{ try { if(con!=null)con.close(); } catch (SQLException e) { e.printStackTrace(); } try { if(rs!=null)rs.close(); } catch (SQLException e) { e.printStackTrace(); }try { if(st!=null)st.close(); } catch (SQLException e) { e.printStackTrace(); } }*/ return temp1; } public static void main(String args[]) { PopulateTextbox obj = new PopulateTextbox(); String temp1= obj.method(); } }
这给了我一个Json数组。现在,我想在JavaScript中一次又一次调用此类的method()以获得新值,因为我更新了我的数据库。我有一个数据网格,当页面首次加载此json数组中的一组值时,该网格运行良好。但是如何使用Ajax刷新数据。或者如何使用Ajax调用method()以便当我单击页面上的按钮时刷新数据。我在Java脚本中调用此方法的代码是::
<% String temp1; PopulateTextbox obj = new PopulateTextbox(); temp1 = obj.method(); %>
我在通过对服务器的Ajax调用来检索temp1中的一组新值时遇到问题。请帮忙 ?谢谢。
创建一个空白的JSP(例如,textBoxAjaxResp.jsp),然后从该JSP中放入您的JSON字符串:
textBoxAjaxResp.jsp
<% String temp1; PopulateTextbox obj = new PopulateTextbox(); temp1 = obj.method(); %> <%=temp1 %>
并使用jQuery AJAX调用命中该JSP。
$.get("mypath/textBoxAjaxResp.jsp", function (response) { //do operation using the response }, "json");