2012-03-02 13 views
0

私はこれを長年試みてきましたが、これを行う正しい方法を見つけることができませんでした。私はこのデータベースから、私の自動完成データソースとなるいくつかの値を取得したいと思っています。私は私の接続が動作していると私のメソッドが返す配列の値を取得することができます。私はこれを通過することができません。私はjsonのデータとしてこの配列を取得することができるjspページで私を助けてください、または私はこれを直接取得し、私の自動完成のためのソースとして私のjspコードに入れてください。 DojoまたはJの問合せであれば、どのフレームワークでも使用できます。前もって感謝します。データベースをソースとして使用するオートコンプリートの実装。

populatetextbox.java

package classes.web; 

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; 

public class PopulateTextbox { 

    List <String>rowValues = new ArrayList<String>(); 
    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 FROM EmployeeSearch"; 
     rs = st.executeQuery(sql); 

     while(rs.next()){ 

      rowValues.add(rs.getString("Emp_Name")); 
     } 
     contactListNames = (String[]) rowValues.toArray(new String[rowValues.size()]); 

    }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 contactListNames; 

    } 
} 

答えて

0

あなたはJSPを使用して言及しているので、それを行うための一つの方法がある道場: 1)あなたのJavaではセクションで、あなたのJSPでの道場とサポートファイル() 2)を含めますコードでは、GSonなどのライブラリを使用して、Java配列をJSONに変換します。 (代わりに、JSONオブジェクトをJava配列の作成時に文字列として構築することもできます) 3)html本文セクションのJSP内でdojo comboboxまたはfilteringSelectウィジェット(両方とも自動補完をサポート)をJSPで使用してください: 例については、以下を参照してください。 http://livedocs.dojotoolkit.org/dijit/form/FilteringSelect http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/tests/form/_autoComplete.html?testWidget=dijit.form.FilteringSelect http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/tests/form/_autoComplete.html?testWidget=dijit.form.ComboBox

私は別の質問JSPに含める方法の詳細にあなたを助けるかもしれないに提供し、次の答え: Displaying Data on a JSP page using Dojo Data grid

代わりに、あなたはあなたのためのプレーンなHTMLを使用することができますプレゼンテーションレイヤーを使用し、AJAXを使用してコンボボックスのデータを取得する(たとえばJSONを返すサーブレットを使用) プレゼンテーションレイヤーを中間層およびバックエンドから完全に分離して保持するので、この方法をお勧めします

Dojoの代わりにJQuery UIウィジェットを使用することもできます。 http://jqueryui.com/demos/autocomplete/

関連する問題