使用jsp在主页菜单栏上显示类别和子类别

时间:2012-05-31 08:39:28

标签: java servlets

我想在我的主页上显示类别和子类别作为菜单栏。所有类别都应该在那里,子类别显示在类别菜单上的鼠标上。

我已经尝试过servlet来获取记录和jsp来显示它。我的jsp代码如下

<ul>
    <% Iterator itr;%>
    <% List data=(List)request.getAttribute("data");
        for(itr=data.iterator(); itr.hasNext(); ){
    %>
    <li><a href=""><%=itr.next()%></a></li>
    <%}%>
</ul>

使用上面的方法我可以正确地获得类别,但问题是我想要存储在名为tbl_subcategory的anather表中的子类别。通过上述方法,我可以得到如下输出:

  

首页关于运动厨房婴儿玩具

现在我想在鼠标悬停时显示每个类别的子菜单。

但它只显示类别而非子类别。

1 个答案:

答案 0 :(得分:0)

我不知道“数据”中存储了什么,但让我们说它已经加载了字符串:

String data[] = new String[] { "Array 1", "Array 2", "Array 3" };

JSP页面看起来像这样打印出“data”中的所有字符串:

<ul>
  <% Iterator<String> iterator = request.getAttribute("data");
     while (iterator.hasNext()) {
  %>

  <li> <a href=""><%=iterator.next()%></a> </li>

  <%}%>
</ul>

生成的HTML页面看起来像这样:

<ul>
  <li><a href="">Array 1</a></li>
  <li><a href="">Array 2</a></li>
  <li><a href="">Array 3</a></li>
</ul>

或者您可以使用JSTL 来迭代“数据”。在HTML-Header中添加此声明:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

然后遍历“数据”:

<% String data[] = request.getAttribute("data"); %>

<ul>
<c:forEach var="d" items="${data}">
  <li><a href=""><c:out value="${d}" /></a></li>
</c:forEach>
</ul>

至于您的下拉菜单,请查看免费的THIS TUTORIAL WITH A SIMPLE DROPDOWN MENU。如果您正在寻找更高级的下拉菜单,请查看THIS TUTORIAL WITH A ADVANCED DROPDOWN MENU,但请注意,此高级下拉菜单需要花钱

我不知道你从哪里获得子菜单,但我只能说你应该在<a>标签内输入你的子菜单值,以便在你使用这些教程时创建子菜单。像这样:

<li><a href="#" 
    onmouseover="mopen('m1')" 
    onmouseout="mclosetime()">Array 1</a>
    <div id="m1" 
        onmouseover="mcancelclosetime()" 
        onmouseout="mclosetime()">
    <a href="#">Array 1.1</a>
    <a href="#">Array 1.2</a>
    <a href="#">Array 1.3</a>
    </div>
</li>

<li><a href="#" 
    onmouseover="mopen('m2')" 
    onmouseout="mclosetime()">Array 2</a>
    <div id="m2" 
        onmouseover="mcancelclosetime()" 
        onmouseout="mclosetime()">
    <a href="#">Array 2.1</a>
    <a href="#">Array 2.2</a>
    <a href="#">Array 2.3</a>
    </div>
</li>

只需按照教程中的步骤操作即可,