0

これは他の質問とよく似ていますが、文字列キーを扱っている人は他にいません。それでは、行きましょう。

カテゴリ ID でキー付けされた一連のカテゴリ名を持つ TreeMap があります。ID は数値 (文字列として) です。

次のように、値を使用して TreeMap を作成し、それをページに公開します。

<%
Map categories = new TreeMap();
...
String categoryId = ...;
String categoryName = ...;
categories.put(categoryId, categoryName);
...
pageContext.setAttribute("categories", categories);
%>

その後、カテゴリに割り当てられた一連のアイテムを反復処理します。各アイテムには、割り当てられたカテゴリの ID を含む .categories コレクションがあります。名前を表示したいので、次のようにします。

<c:forEach items="${item.categories}" var="catId">
    ${categories[“${catId}”}
</c:forEach>

残念ながら、これは何も出力しません。そうでもない${categories["${catId}"].value}.

ただし、これは次のことを行います。

${categories["2"]}

もちろん、その行は実際にはアイテム データによって駆動されるわけではありません。

確認したところ、各アイテムに付けられた ID は実際にはカテゴリ ID に対応しています。これはデータの不一致の問題ではありません。

では、アイテムに添付されたデータが ID しかない場合、カテゴリ名をどのように取得すればよいでしょうか。

追記: 私は Java プログラマーではありません。LAMPは私のスタイルです。したがって、クラスを変更することは実際にはオプションではありません。

4

1 に答える 1

1

編集:申し訳ありませんが、質問を読み違えました。

catId変数をアンラップします。

 ${categories[“${catId}”}

する必要があります

 ${categories[catId]}

それはそれを修正する必要があります。

于 2011-06-24T20:02:55.943 に答える