JSTLでELを使用する際に問題があり、Javaハッシュマップにアクセスできない場合があります。私は、ELのキーでIntegerがLongとしてアクセスされるかどうかを知っています。私はJSTLにアクセスしようとしているハッシュマップの定義以下のいる -JSTLハッシュマップの整数/ロングキー
Map<Long, Object> testMap = new HashMap<Long, Object>();
JSPページでは、私はマップが特定のキーが含まれているかいないかどうかを確認する必要があります。私は、次のように空になっていないかどうかをチェックすることによってこれを行うにしよう -
<c:if test='${ ! empty testMap[currObj.currVal]}'>
私もどこかに以下のようなコードでのキーのマップの値にアクセス -
今<c:if test='${ testMapMap[5].data == 'something'}'>
問題 -
もし私が上記のマップを<Integer, Object>
と定義すると、最初のc:ifは動作しますが、2番目のマップは失敗します(2番目のマップはLongとしてアクセスしようとします)。しかし、私が上記のマップを<Long, Object>
と定義した場合、最初のifチェックは常に空であると認識されるので、常に失敗しますが、値をチェックする2番目のifステートメントが機能します。
両方のifステートメントのHashMapに正しくアクセスするための良い方法はありますか?私は意見を感謝します。
「5L」は2番目のものに対応していますか? –
上記の例では、2番目のマップは正しくLongにアクセスしていますので、マップの最後に "L"を付ける必要はありませんでした。 – JUG
ああ、申し訳ありませんが、それを後方に読んでください。 –