【发布时间】:2015-12-10 02:14:44
【问题描述】:
我已经使用 jquery-ui 实现了一个自动完成文本框。但它只是出现小行而不是显示所需的结果。这是它的样子:
index.jsp:
<body>
<h1>Hello Auto complete</h1>
<br> <br> <br>
<input id="search">
<input type="hidden" id="search-id">
</body>
filter.js
$(document).ready(function () {
$(function () {
$("#search").autocomplete({
source: function (request, response) {
$.ajax({
url: "SearchDB",
type: "GET",
data: {
term: request.term
},
dataType: "json",
success: function (data) {
response(data);
// console.log(data);
}
});
}
});
});
});
SearchDB servlet:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("application/json");
String term = request.getParameter("term");
Session session = com.search.connection.HibernateUtil.getSessionFactory().openSession();
Criteria criteria = session.createCriteria(Product.class);
criteria.add(Restrictions.like("name", term + "%"));
List<Product> proList = criteria.list();
List<Product> myList = new ArrayList<>();
for (Product product : proList) {
myList.add(product);
}
Gson gson = new Gson();
String result = gson.toJson(myList);
response.getWriter().write(result);
}
我的 json 响应:(当我在文本框中输入“c”时)
[{"id":5,"name":"COD 4","qnty":12,"dateAdded":"Dec 12, 2015"},{"id":6,"name":"COD 5","qnty":20,"dateAdded":"Oct 28, 2015"},{"id":7,"name":"Cars ","qnty":13,"dateAdded":"Dec 30, 2014"}]
提前致谢。
【问题讨论】:
标签: java jquery json jquery-ui jakarta-ee