私の問題は、Tomcat サーバーでローカルに実行するとアプリが正常に動作することですが、glassfish がインストールされているサーバーではエラーがスローされることです。全体の問題は、JSTL で HashMap を繰り返し検索していることです。サーバーは次のようにスタックをスローします。
Servlet.service() for servlet jsp threw exception java.lang.IllegalAccessException:
Class javax.el.BeanELResolver can not access a member of class java.util.HashMap$Entry with modifiers "public final"
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:95)
at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(AccessibleObject.java:261)
at java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:253)
問題はコードによって引き起こされます:
<c:forEach items="${element.getPreparedParameters()}" var="parametr" varStatus="j">
documents["${i.index}"]["param"]=new Array();
documents["${i.index}"]["param"]["key"] = "${parametr.getKey()}";
documents["${i.index}"]["param"]["value"] = "${parametr.getValue()}";
</c:forEach>
どこでをelement.getPreparedParameters()
返しますHashMap
。
どうすればそれを機能させることができますか?