我一直試圖讓這個工作幾天,而我沒有得到任何代碼。我有一個表單,它有一個文本框,需要列出我試圖使用自動完成功能的外部推銷員。使用JSP + AJAX從數據庫填充jQuery UI自動填充
這是形式(doorform2.jsp)代碼
<script>
$("#outsideSales").autocomplete({source: "outsideIn.jsp",minLength: 2});
</script>
<input type="text" name="outsideSalesman" id="outsideSales" required>
這是我使用的從我的數據庫中的數據以用於自動完成
<%
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection("jdbc:sqlserver://nemesis:1433;instanceName=gfi;databaseName=NationalFormsRepository;user=portal;password=P0rtal");
stmt = con.createStatement();
String outside = request.getParameter("outsideSalesman");
ArrayList<String> outsideSalesmenNames = new ArrayList<String>();
String outsideSalesman = "SELECT outsideSalesName FROM tbl_outsideSales WHERE outsideSalesName like '%"+outside+"%'";
rs = stmt.executeQuery(outsideSalesman);
while(rs.next())
{
outsideSalesmenNames.add(rs.getString("outsideSalesName"));
}
out.println(outsideSalesmenNames);
%>
我的代碼我試圖在線上學習幾個教程,但我一直遵循的大部分教程都是針對php而不是jsp,或者它們針對的是舊版本的jquery自動完成。我覺得我錯過了一些小小的東西,但一直在看它,以期看到它。任何人都可以看一看,看看我是否缺少任何東西?
好吧,我將request.getParameter更改爲「term」,並添加了JSONArray json = new JSONArray(Arrays.asList(outsideSalesmenNames));'但我在輸入文本框時仍然沒有得到建議。我有一個導入'<%@ page import =「//raw.github.com/douglascrockford/JSON-java/master/JSONArray.java」%>' – jaz1976
打開AJAX頁面(即'http:// website。 com/outsideIn.jsp?term = test')並確保它正在工作。 –
我收到代碼的JSON部分的錯誤。整個錯誤消息超過了消息框的大小,但這是消息的開頭。HTTP狀態500 - 內部服務器錯誤 類型例外報告 messageInternal服務器錯誤 description服務器遇到阻止它履行此請求的內部錯誤。 異常 org.apache.jasper.JasperException:PWC6033:JSP的Javac編譯錯誤。如果我刪除了JSON代碼,該頁面可以正常工作。我認爲這可能是我鏈接到的java文件。 – jaz1976