我正在尝试在我的 Java Webb 应用程序中使用 jQuery UI 自动完成小部件。
现在我有以下代码:
查看 (buscarFoto.jsp)
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type ="text/css" href="css/jquery-ui-1.10.3.custom.css"/>
<script src="js/jquery-1.10.2.min.js"></script>
<script src="js/jquery-ui-1.10.3.custom.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h3>Escull usuari</h3>
<input type="text" id="usuari" name="usuari"/>
<script>
$("#usuari").autocomplete({
source: "Controller?action=llistaUsuaris"
});
</script>
</body>
Controller (Controller.java (servlet)) (DoPost 和 DoGet 被覆盖,Controller.java 在 WebApp 的任何其他部分都可以像 Servlet 一样工作)
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
GestioDB_Postgres db = new GestioDB_Postgres();
HttpSession session = request.getSession();
String op = request.getParameter("action");
if (op.equals("llistaUsuaris")) {
String query = request.getParameter("term");
List<String> usuaris = db.llistaUsuaris(query);
Iterator<String> iterator = usuaris.iterator();
while (iterator.hasNext()) {
String usuari = (String) iterator.next();
out.println(usuari);
}
}
在控制器的第 3 行中对数据库的调用工作得很好(我已经测试过了),控制器本身也工作得很好(当我在 NetBeans 中运行它时,它会打印适当的“usuaris”),.jsp 页面发送请求作为“术语”,但自动完成功能根本不做任何事情。
我在另一个问题中读到有人建议使用 JSON,但如果可以避免,我宁愿不使用它。谁能指出我正确的方向?
谢谢你。