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

时间:2015-05-16 19:17:46

标签: java jsp arraylist drop-down-menu

这是我想在下拉列表中填充的数组列表。

  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 / controller

的代码
  session.setAttribute("loginSuccess", user);

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

  session.setAttribute("friendRequests", friendRequests);

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

                                    rd.forward(request, response);

1 个答案:

答案 0 :(得分: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}.