在Ognl 3.2.10中找不到DefaultMemberAccess

问题描述 投票:0回答:1

我在最新的struts 2.5.20和OGNL 3.2.10上有一个应用程序。在应用程序启动时,出现异常

java.lang.ClassNotFoundException: ognl.DefaultMemberAccess
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1309)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1138)

我检查了struts文档并发现了以下内容

DefaultMemberAccess is only available in tests, it won't be used when there was no custom MemberAccess provided, an exception will be thrown in such case

这里是文档的链接:Release notes - version 3.2.3 - WIP

我无法获得任何示例,或者如何为MemberAccess创建自定义实现并将其提供给OgnlContext。有人知道我该如何解决吗?

struts2 ognl
1个回答
0
投票

DefaultMemberAccess在版本3.2.1之后被删除。您可以将版本降级为3.2.1

此文件已移至here

您可以参考README.md中的项目描述>

如何定义AccessMember?

最好的方法是实现自己的AccessMember,它将最适合您的项目,您可以基于现有的DefaultAccessMember并根据需要进行调整。

© www.soinside.com 2019 - 2024. All rights reserved.