You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by gumnaam23 <vk...@yahoo.com> on 2008/04/25 12:23:04 UTC
Iterator and List of List
I am trying use nested iterators to iterate over a List of List using the
following code
<iterator property="outerlist" ..>
....
<iterator property="outerlist[]" ...>
#outerlist[][]#
</iterator>
</iterator>
But I get a ProbeException. I suspect it's the innter iterator tag, that's
having a problem.
Any clues on how to solve this ?
Below is the error message.
com.ibatis.common.beans.ProbeException: Error getting ordinal list from
JavaBean. Cause java.lang.NumberFormatException: For input string: ""
at com.ibatis.common.beans.BaseProbe.getIndexedProperty(BaseProbe.java:86)
at
com.ibatis.common.beans.ComplexBeanProbe.getProperty(ComplexBeanProbe.java:298)
at
com.ibatis.common.beans.ComplexBeanProbe.getObject(ComplexBeanProbe.java:190)
at com.ibatis.common.beans.GenericProbe.getObject(GenericProbe.java:74)
at
com.ibatis.sqlmap.engine.mapping.sql.dynamic.elements.IterateTagHandler.doStartFragment(IterateTagHandler.java:47)
at
com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.processBodyChildren(DynamicSql.java:156)
at
com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.processBodyChildren(DynamicSql.java:159)
at
com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.processBodyChildren(DynamicSql.java:159)
at
com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.processBodyChildren(DynamicSql.java:159)
at
com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.processBodyChildren(DynamicSql.java:159)
at
com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.processBodyChildren(DynamicSql.java:159)
at
com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.processBodyChildren(DynamicSql.java:98)
at
com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.process(DynamicSql.java:78)
at
com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.getParameterMap(DynamicSql.java:60)
at
com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.getCacheKey(MappedStatement.java:328)
at
com.ibatis.sqlmap.engine.mapping.statement.CachingStatement.getCacheKey(CachingStatement.java:111)
at
com.ibatis.sqlmap.engine.mapping.statement.CachingStatement.executeQueryForList(CachingStatement.java:87)
at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567)
at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541)
at
com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)
at
org.springframework.orm.ibatis.SqlMapClientTemplate$3.doInSqlMapClient(SqlMapClientTemplate.java:298)
at
org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:209)
at
org.springframework.orm.ibatis.SqlMapClientTemplate.executeWithListResult(SqlMapClientTemplate.java:249)
at
org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:296)
at
--
View this message in context: http://www.nabble.com/Iterator-and-List-of-List-tp16894496p16894496.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
Re: Iterator and List of List
Posted by Jeff Butler <je...@gmail.com>.
I got this to work in a simple test:
<iterator property="outerlist" ..>
....
<iterator property="outerlist[]" ...>
#outerlist[].[]#
</iterator>
</iterator>
But "outerlist" must be a valid property in your parameter class - I had to
put outerlist into a HashMap.
Jeff Butler
On Fri, Apr 25, 2008 at 5:23 AM, gumnaam23 <vk...@yahoo.com> wrote:
>
> I am trying use nested iterators to iterate over a List of List using the
> following code
>
> <iterator property="outerlist" ..>
> ....
> <iterator property="outerlist[]" ...>
> #outerlist[][]#
> </iterator>
> </iterator>
>
> But I get a ProbeException. I suspect it's the innter iterator tag, that's
> having a problem.
> Any clues on how to solve this ?
>
> Below is the error message.
>
> com.ibatis.common.beans.ProbeException: Error getting ordinal list from
> JavaBean. Cause java.lang.NumberFormatException: For input string: ""
> at
> com.ibatis.common.beans.BaseProbe.getIndexedProperty(BaseProbe.java:86)
> at
>
> com.ibatis.common.beans.ComplexBeanProbe.getProperty(ComplexBeanProbe.java:298)
> at
>
> com.ibatis.common.beans.ComplexBeanProbe.getObject(ComplexBeanProbe.java:190)
> at
> com.ibatis.common.beans.GenericProbe.getObject(GenericProbe.java:74)
> at
>
> com.ibatis.sqlmap.engine.mapping.sql.dynamic.elements.IterateTagHandler.doStartFragment(IterateTagHandler.java:47)
> at
>
> com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.processBodyChildren(DynamicSql.java:156)
> at
>
> com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.processBodyChildren(DynamicSql.java:159)
> at
>
> com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.processBodyChildren(DynamicSql.java:159)
> at
>
> com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.processBodyChildren(DynamicSql.java:159)
> at
>
> com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.processBodyChildren(DynamicSql.java:159)
> at
>
> com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.processBodyChildren(DynamicSql.java:159)
> at
>
> com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.processBodyChildren(DynamicSql.java:98)
> at
>
> com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.process(DynamicSql.java:78)
> at
>
> com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.getParameterMap(DynamicSql.java:60)
> at
>
> com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.getCacheKey(MappedStatement.java:328)
> at
>
> com.ibatis.sqlmap.engine.mapping.statement.CachingStatement.getCacheKey(CachingStatement.java:111)
> at
>
> com.ibatis.sqlmap.engine.mapping.statement.CachingStatement.executeQueryForList(CachingStatement.java:87)
> at
>
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567)
> at
>
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541)
> at
>
> com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)
> at
>
> org.springframework.orm.ibatis.SqlMapClientTemplate$3.doInSqlMapClient(SqlMapClientTemplate.java:298)
> at
>
> org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:209)
> at
>
> org.springframework.orm.ibatis.SqlMapClientTemplate.executeWithListResult(SqlMapClientTemplate.java:249)
> at
>
> org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:296)
> at
> --
> View this message in context:
> http://www.nabble.com/Iterator-and-List-of-List-tp16894496p16894496.html
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>