1

JSP テンプレートと Struts 2 タグで Struts 2 を使用しています。これらでは、 a の値のメンバーシップを確認できないようですHashMap

マップは正しく設定されており、List<Taxon>I'm iterating over があり、私が持っている と呼ばれるsynonymstypeのマップに要素が存在するかどうかを確認したいと思いMap<Taxon, Taxon>ます。

オペレーターに確認すると、in常に false になります。つまり、次のようになります。

<s:if test="top in synonyms"> .... </s:if>

一方、これは常に当てはまります。

<s:if test="synonyms[top] != null"> ... </s:if>

次のようにすると、要素がマップ内にある場合は正しい値が取得され、そうでない場合は何らかの null 値が取得されます。

<s:property value="synonyms[top].name />

奇妙なことに、taxonが繰り返し処理しているもののプロパティである場合 (つまり、別のクラスでラップしている場合)、element != null実際に正常に動作するかどうかを確認します。これは OGNL のバグですか、それとも何か間違っていますか?

4

1 に答える 1