データベースからデータを取得することにより、単純な jquery オートコンプリートを実装しようとしています。しかし、どういうわけか、提案付きのオートコンプリート ドロップダウンが表示されません。ハードコーディングされた配列がある場合は正常に機能します。問題が存在するのは JSP のみです。
私の list.jsp コード。
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<%@page import="java.util.*"%>
<%
try{
String s[]=null;
ResultSet rs = null;
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con =DriverManager.getConnection("jdbc:oracle:thin:@tst:1521:gtst02","tiger","tiger");
String queryy=("SELECT ID FROM (SELECT DISTINCT NAME FROM GOOG WHERE NUM LIKE ? ) WHERE ROWNUM<11");
PreparedStatement st=con.prepareStatement(queryy);
String query = (String)request.getParameter("q");
st.setString(1,query+"%");
rs = st.executeQuery();
while (rs.next()) {
out.print(rs.getString("CONTRACT_NUM")+"\n");
}
rs.close();
st.close();
con.close();
}
catch(Exception e){
e.printStackTrace();
}
%>
私のhtmlコード:
<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery UI Autocomplete - Remote datasource</title>
<link rel="stylesheet"
href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<style>
.ui-autocomplete-loading {
background: white url('images/ui-anim_basic_16x16.gif') right center
no-repeat;
}
</style>
<script>
$(function() {
//var availableTags = [ "ActionScript","AppleScript"];
$( "#tags" ).autocomplete({
source: "list.jsp"
});
});
</script>
</head>
<body>
<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags" /></div>
</body>
</html>
打った時
http://localhost:7001/Test/list.jsp&q=206
ファイルをダウンロードするか、開く(ダウンロードする)かを尋ねるポップアップが表示されます。開くと、メモ帳に値が長いスペースで表示されます。
ここでどこが間違っているのか教えてください。宣言されたハードコードされた値の配列で正常に機能します。