OgnlRuntime can not access a member of class java.util.ArrayList$SubList with modifiers "public"

内部类无法序列化


  • Action 向页面传输时,定义 Action 内部的 VO 类,无法传输
  • MyBatis 调用 Mapper 接口,传入List 集合,List = subList 的提示如下异常

Caused by: org.apache.ibatis.builder.BuilderException: Error evaluating expression ‘orderIdList != null and orderIdList.size() > 0’.
Cause: org.apache.ibatis.ognl.MethodFailedException:
Method “size” failed for object [2590]
[java.lang.IllegalAccessException:
Class org.apache.ibatis.ognl.OgnlRuntime can not access a member of class java.util.ArrayList S u b L i s t w i t h m o d i f i e r s " p u b l i c " ] a t o r g . a p a c h e . i b a t i s . s c r i p t i n g . x m l t a g s . O g n l C a c h e . g e t V a l u e ( O g n l C a c h e . j a v a : 50 ) a t o r g . a p a c h e . i b a t i s . s c r i p t i n g . x m l t a g s . E x p r e s s i o n E v a l u a t o r . e v a l u a t e B o o l e a n ( E x p r e s s i o n E v a l u a t o r . j a v a : 32 ) a t o r g . a p a c h e . i b a t i s . s c r i p t i n g . x m l t a g s . I f S q l N o d e . a p p l y ( I f S q l N o d e . j a v a : 33 ) a t o r g . a p a c h e . i b a t i s . s c r i p t i n g . x m l t a g s . C h o o s e S q l N o d e . a p p l y ( C h o o s e S q l N o d e . j a v a : 34 ) a t o r g . a p a c h e . i b a t i s . s c r i p t i n g . x m l t a g s . M i x e d S q l N o d e . a p p l y ( M i x e d S q l N o d e . j a v a : 32 ) a t o r g . a p a c h e . i b a t i s . s c r i p t i n g . x m l t a g s . D y n a m i c S q l S o u r c e . g e t B o u n d S q l ( D y n a m i c S q l S o u r c e . j a v a : 40 ) a t o r g . a p a c h e . i b a t i s . m a p p i n g . M a p p e d S t a t e m e n t . g e t B o u n d S q l ( M a p p e d S t a t e m e n t . j a v a : 278 ) a t o r g . a p a c h e . i b a t i s . e x e c u t o r . C a c h i n g E x e c u t o r . q u e r y ( C a c h i n g E x e c u t o r . j a v a : 75 ) a t o r g . a p a c h e . i b a t i s . s e s s i o n . d e f a u l t s . D e f a u l t S q l S e s s i o n . s e l e c t L i s t ( D e f a u l t S q l S e s s i o n . j a v a : 108 ) a t o r g . a p a c h e . i b a t i s . s e s s i o n . d e f a u l t s . D e f a u l t S q l S e s s i o n . s e l e c t L i s t ( D e f a u l t S q l S e s s i o n . j a v a : 102 ) a t s u n . r e f l e c t . G e n e r a t e d M e t h o d A c c e s s o r 234. i n v o k e ( U n k n o w n S o u r c e ) a t s u n . r e f l e c t . D e l e g a t i n g M e t h o d A c c e s s o r I m p l . i n v o k e ( D e l e g a t i n g M e t h o d A c c e s s o r I m p l . j a v a : 43 ) a t j a v a . l a n g . r e f l e c t . M e t h o d . i n v o k e ( M e t h o d . j a v a : 497 ) a t o r g . m y b a t i s . s p r i n g . S q l S e s s i o n T e m p l a t e SubList with modifiers "public"] at org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:50) at org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateBoolean(ExpressionEvaluator.java:32) at org.apache.ibatis.scripting.xmltags.IfSqlNode.apply(IfSqlNode.java:33) at org.apache.ibatis.scripting.xmltags.ChooseSqlNode.apply(ChooseSqlNode.java:34) at org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32) at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:40) at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:278) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:75) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:108) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:102) at sun.reflect.GeneratedMethodAccessor234.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.mybatis.spring.SqlSessionTemplate SubListwithmodifiers"public"]atorg.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.java:50)atorg.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateBoolean(ExpressionEvaluator.java:32)atorg.apache.ibatis.scripting.xmltags.IfSqlNode.apply(IfSqlNode.java:33)atorg.apache.ibatis.scripting.xmltags.ChooseSqlNode.apply(ChooseSqlNode.java:34)atorg.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.java:32)atorg.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:40)atorg.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:278)atorg.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:75)atorg.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:108)atorg.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:102)atsun.reflect.GeneratedMethodAccessor234.invoke(UnknownSource)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)atjava.lang.reflect.Method.invoke(Method.java:497)atorg.mybatis.spring.SqlSessionTemplateSqlSessionInterceptor.invoke(SqlSessionTemplate.java:358)
… 12 more

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值