在 JSP 中的页面加载时填充下拉列表

Posted

技术标签:

【中文标题】在 JSP 中的页面加载时填充下拉列表【英文标题】:Populate dropdown lists on page load in JSP 【发布时间】:2015-07-28 13:47:05 【问题描述】:

这是我要填充到下拉列表中的数组列表。

  ArrayList<FriendRequestBean> friendRequests = (ArrayList<FriendRequestBean>) session.getAttribute("friendRequests");

但是当我点击下拉列表图标时,它是空的。有什么解决办法。我希望它像在 facebook 通知中那样完成。

  <ul class="nav navbar-nav navbar-right">
                <li class="dropdown" data-toggle="tooltip" data-placement="bottom" title="Friend Requests">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                        <i class="fa fa-user"></i>
                    </a>
                    <ul class="dropdown-menu" role="menu">
                        <%
                            for(int i=0; i<friendRequests.size(); i++)
                        %>
                        <li>
                         <a href="#"><%=friendRequests.get(i).getRequestSender() %> User</a>
                        </li>

                        <%  %>

                    </ul>
                </li>
           </ul>

这里是 Servlet/控制器的代码

  session.setAttribute("loginSuccess", user);

  friendRequests = FriendRequestBAL.showFriendRequests(user.getUserID());

  session.setAttribute("friendRequests", friendRequests);

  RequestDispatcher rd = request.getRequestDispatcher("Index.jsp");

                                    rd.forward(request, response);

【问题讨论】:

发布您从中获取会话内容的控制器/页面,以便我们提供更好的帮助。 【参考方案1】:

您需要对数据的引用。当您返回视图时(猜测您正在使用控制器),您应该将数据(friendRequests)添加到模型对象,然后您可以在视图文件中访问它(.jsp );您通常不希望 JSP 文件中包含 Java 代码。

示例:控制器

@RequestMapping(value = "/", method = RequestMethod.GET)
@ResponseStatus(value=HttpStatus.OK)
public String home(Locale locale, Model model,HttpServletRequest request) 
    Date date = new Date();
    DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);

    String formattedDate = dateFormat.format(date);

    model.addAttribute("serverTime", formattedDate );
    return "home";

现在 home 是视图(home.jsp),所以我们在 jsp 文件中有这个。

Welcome
it is now $serverTime.

【讨论】:

以上是关于在 JSP 中的页面加载时填充下拉列表的主要内容,如果未能解决你的问题,请参考以下文章

如何通过加载保存的搜索功能处理填充下拉列表

尝试用 Java 中的 Mysql 数据填充 HTML 下拉列表时出现错误?

动态填充 select2 下拉列表

AngularJS:加载下拉列表从模型中选择

在servlet中怎样获取jsp中下拉列表中的值

从MySQL加载数据并使用jQuery Mobile,PHP选择填充下拉列表