我正在尝试使用JSTL在javascript函数中填充Javascript数组。我的目的是使JQuery自动完成功能与我的Web应用程序一起使用,该应用程序是使用Servlets
和jsp
开发的。这里是JQuery自动完成的原始链接 - https://jqueryui.com/autocomplete/
以下是我的代码
的index.jsp
<%@taglib prefix="c" uri= "http://java.sun.com/jsp/jstl/core" %>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JQuery UI Autocomplete - Default functionality</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script>
$(function () {
var availableTags=[] ;
<c:forEach var="list" items="${requestScope['list']}">
availableTags.push('${list.drug_name}');
</c:forEach>
$("#tags").autocomplete({
source: availableTags
});
});
</script>
</head>
<body>
<form action="Combo">
<div class="ui-widget">
<label for="tags">Tags: </label>
<input name="selectBox" id="tags">
<input type="submit"/>
</div>
</form>
</body>
</html>
我从servlet调用index.jsp,如下所示。
List<Names> list=names.readNames(file);
request.setAttribute("list", list);
RequestDispatcher dispatcher=request.getRequestDispatcher("WEB-INF/jsp/Index.jsp");
dispatcher.forward(request, response);
此处List<Names> list=names.readNames(file);
返回Names
的bean。 Names
只是一个带有setter和getter的简单类,它是一个变量name
,类型为String。
但是我无法实现这一点,因为自动填充不能以这种方式工作。很可能是因为将数据插入数组时出错。这里出了什么问题?
答案 0 :(得分:1)
打开开发人员工具(F12)并转到控制台。 那里会有一些错误。
答案 1 :(得分:0)
将var名称用作项目,而不是列表
kwargs_for_func