JSP テンプレートと Struts 2 タグで Struts 2 を使用しています。これらでは、 a の値のメンバーシップを確認できないようですHashMap
。
マップは正しく設定されており、List<Taxon>
I'm iterating over があり、私が持っている と呼ばれるsynonyms
typeのマップに要素が存在するかどうかを確認したいと思い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 のバグですか、それとも何か間違っていますか?