【问题标题】:Populating dropdown menu items (in JSP)填充下拉菜单项(在 JSP 中)
【发布时间】:2014-01-04 12:52:18
【问题描述】:
使用 JEE、EJB、JPA、TomEE、MySQL、MVC - servlet + JSP 实现简单的博客应用程序。
这是我现在拥有的页面菜单:
http://jsfiddle.net/vvozar/tMz9A/
see menu look in jsfiddle link
我应该如何填充菜单项和子项。我的意思是菜单内容应该通过从数据库中读取值和创建菜单子项来动态创建(参见 jsfiddle 菜单,具体来说是类别项和子项)我不知道如何实现这一点。可能是servlet中的某种方式,是的,只是问什么是做法。然后在移动到应用程序内的其他页面时填充该菜单怎么样。
【问题讨论】:
标签:
jsp
servlets
jpa
model-view-controller
ejb
【解决方案1】:
使用 servlet 作为控制器并在 get 方法中执行类似的操作:
request.setAttribute("menus", service.getMenus());
getServletContext().getRequestDispatcher("/<your-page>.jsp")
.forward(request, response);
在你的jsp中,类似:
<ul>
<%
List<Menu> menus = (List<Menu>)request.getAttribute("menus");
for (Menu menu : menus) {
%>
<li><%= menu.getName() %></li>
<%
}
%>
</ul>
如果你需要子菜单,你可以在Menu里面定义一个List<SubMenu>,然后在jsp中做另一个循环。