JQuery自动完成JSP

时间:2015-07-16 03:29:53

标签: javascript java jquery jsp servlets

我正在尝试使用JSTL在javascript函数中填充Javascript数组。我的目的是使JQuery自动完成功能与我的Web应用程序一起使用,该应用程序是使用Servletsjsp开发的。这里是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。

但是我无法实现这一点,因为自动填充不能以这种方式工作。很可能是因为将数据插入数组时出错。这里出了什么问题?

2 个答案:

答案 0 :(得分:1)

打开开发人员工具(F12)并转到控制台。 那里会有一些错误。

答案 1 :(得分:0)

将var名称用作项目,而不是列表

kwargs_for_func