You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by "Struts-dev Newsgroup (@Basebeans.com)" <st...@basebeans.com> on 2002/06/03 09:40:01 UTC

AccessControlException (accessDeclaredMembers) when trying to logic:iterate over a HashMap

Subject: AccessControlException (accessDeclaredMembers) when trying to logic:iterate over a HashMap
From: "Stefan Lesser" <sl...@slaser.de>
 ===
Hi!

I posted the following message to the struts-user group yesterday.
I searched jGuru, the internet, but couldn't find a solution.
Maybe you can help me?

Version is Struts 1.0 release, running on J2EE 1.3.1 (standard server).

-----8<-----

I absolutely have no idea what could be wrong. It's all coded as defined in
the tag lib docs.

in my jsp:

<logic:iterate id="current" name="theKeynameMap" property="keynameMap">
    <tr>
        <td><bean:write name="current" property="key"/></td>
        <td><html:text name="current" property="value"/></td>
    </tr>
</logic:iterate>

theKeynameMap is a form bean with a property keynameMap. Here are the
relevant lines:

public class KeynameMapForm extends ActionForm {

    protected Map theKeynameMap = new HashMap();

    public Map getKeynameMap() {
        return theKeynameMap;
    }

    public void setKeynameMap(Map keynameMap) {
        this.theKeynameMap = new HashMap(keynameMap);
    }

}

In the map, both key and value are simple strings.

And finally, the exception:

java.security.AccessControlException: access denied
(java.lang.RuntimePermission accessDeclaredMembers)
 at
java.security.AccessControlContext.checkPermission(AccessControlContext.java
:270)
 at
java.security.AccessController.checkPermission(AccessController.java:401)
 at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
 at java.lang.SecurityManager.checkMemberAccess(SecurityManager.java:1662)
 at java.lang.Class.checkMemberAccess(Class.java:1401)
 at java.lang.Class.getDeclaredMethod(Class.java:1218)
 at
org.apache.struts.util.PropertyUtils.getAccessibleMethodFromInterfaceNest(Pr
opertyUtils.java:1080)
 at
org.apache.struts.util.PropertyUtils.getAccessibleMethod(PropertyUtils.java:
1024)
 at
org.apache.struts.util.PropertyUtils.getReadMethod(PropertyUtils.java:665)
 at
org.apache.struts.util.PropertyUtils.getSimpleProperty(PropertyUtils.java:71
1)
 at
org.apache.struts.util.PropertyUtils.getNestedProperty(PropertyUtils.java:42
6)
 at org.apache.struts.util.PropertyUtils.getProperty(PropertyUtils.java:453)
 at org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:503)
 at org.apache.struts.taglib.bean.WriteTag.doStartTag(WriteTag.java:179)
 at
org.apache.jsp.keynameMapConfig$jsp._jspService(keynameMapConfig$jsp.java:18
4)
 at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:202)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
 at
org.apache.catalina.core.ApplicationFilterChain.access$0(ApplicationFilterCh
ain.java:197)
 at
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain
.java:176)
 at java.security.AccessController.doPrivileged(Native Method)
 at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:172)
 at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:243)
 at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
 at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:201)
 at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
 at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:2
46)
 at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
 at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
 at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164
)
 at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
 at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170)
 at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
 at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170
)
 at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
 at
org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:368)
 at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
 at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
 at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
 at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:
1012)
 at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107
)
 at java.lang.Thread.run(Thread.java:536)

What's the problem? Any ideas?

thx,
Stefan



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>