0

ホームページのメニューバーとしてカテゴリとサブカテゴリを表示したい。すべてのカテゴリがそこにあるはずであり、サブカテゴリはカテゴリメニューの上にマウスオーバーすると表示されます。

サーブレットでレコードをフェッチし、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テーブルに格納されているサブカテゴリが必要なことです。上記の方法で、私は以下のように出力を得ることができます:

ホームAboutusSportsKitchen Baby-Toys

次に、各カテゴリのサブメニューをマウスオーバーで表示します。

ただし、サブカテゴリではなくカテゴリのみが表示されます。

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 ヘッダーに次の宣言を追加します。

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

チュートリアルの手順に従うだけで問題ありません

于 2012-05-31T08:59:52.877 に答える