JSTLでELを使用する際に問題が発生し、Javaハッシュマップにアクセスできません。ELで、整数がLongとしてアクセスされる場合のキーを認識しています。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としてマップにアクセスしようとするため)。ただし、上記のマップを最初のifチェックとして定義すると、<Long, Object>
常に空として認識されるため失敗しますが、値をチェックする2番目のifステートメントは機能します。
両方のifステートメントでHashMapに正しくアクセスできるようにするための良い方法はありますか?ご意見をいただければ幸いです。