在 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 中的页面加载时填充下拉列表的主要内容,如果未能解决你的问题,请参考以下文章