这是我想在下拉列表中填充的数组列表。
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);
答案 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}.