如何使用ajax在javascript中调用java类方法? [英] how to call a java class method in javascript using ajax ?

查看:170
本文介绍了如何使用ajax在javascript中调用java类方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆