如何使用ajax在javascript中调用java类方法? [英] how to call a java class method in javascript using ajax ?
问题描述
我有一个java类::
i have a java class ::
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脚本中调用此方法的代码是::
This is returning me a Json array. Now i want to call method() of this class in JavaScript again and again to get new values as i update my database. I have a data grid which is working fine as the page loads for the first time with a set of values in this json array. But how to refresh data using Ajax. Or how to call the method() using Ajax so that data gets refreshed when i click on a button on the page. The code where i am calling this method in java-script is ::
<%
String temp1;
PopulateTextbox obj = new PopulateTextbox();
temp1 = obj.method();
%>
我在通过对服务器的Ajax调用中检索temp1中的新值集时遇到问题。请帮忙 ?谢谢。
i am getting problem in retrieving new set of values in temp1 through a Ajax call to the server . please help ? Thanks.
推荐答案
创建一个空白JSP(例如, textBoxAjaxResp.jsp
)并输出来自该JSP的JSON字符串:
Create a blank JSP (for example, textBoxAjaxResp.jsp
) and out put your JSON string from that JSP:
<%
String temp1;
PopulateTextbox obj = new PopulateTextbox();
temp1 = obj.method();
%>
<%=temp1 %>
并使用jQuery AJAX调用点击该JSP。
and hit that JSP using jQuery AJAX call.
$.get("mypath/textBoxAjaxResp.jsp", function (response) {
//do operation using the response
}, "json");
这篇关于如何使用ajax在javascript中调用java类方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!