0

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

我已经尝试过 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 的另一个表中的子类别。使用上述方法,我可以得到如下输出:

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

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

但它只显示类别而不是子类别。

4

1 回答 1

0

我不知道“数据”中存储了什么,但假设它加载了字符串:

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

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

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

至于您的下拉菜单,请查看这个带有简单下拉菜单的教程,它是免费的。如果您正在寻找更高级的下拉菜单,请查看带有高级下拉菜单的本教程,但请记住,尽管此高级下拉菜单需要花钱

我不知道您从哪里获得子菜单项,但我只能说,<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>

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

于 2012-05-31T08:59:52.877 回答