我正在使用SpringMVC 3和Roo项目。现在有一个web层死胡同了。基本上这是一个类型转换的问题,让我疯狂在java.lang.String类型中找不到属性'0'
我尝试迭代表行的列表(这里是SystemSettings表,然后每行是系统设置)时传递记录计数器。在JSPX文件,我做了以下循环:
这样的状态可以计数,计数器值传递给“complex.tagx”。这里是这样简化的:
我没有把所有的属性放在这里使代码部分太冗长。但我得到非常讨厌的异常告诉我计数器(当然在第一个循环中返回0)不是一种类型的字符串?我认为JSTL可以自动转换它。但是,我知道我使用三个变量组成组件名称可能不是一个好主意,但我不明白这个例外,在这里,请帮助,非常感谢!
2012年5月14日下午6点39分59秒org.apache.catalina.core.StandardWrapperValve调用 重度:Servlet.service()进行的servlet [OptiVLM-CarrierWeb]与路径上下文[/ OptiVLM-CarrierWeb]扔异常[请求处理失败;嵌套的异常是带有根本原因的org.apache.tiles.impl.CannotRenderException:包含路径'/WEB-INF/layouts/default.jspx'的ServletException。] javax.el.PropertyNotFoundException:在类型java上找不到属性'0'。 lang.String at javax.el.BeanELResolver $ BeanProperties.get(BeanELResolver.java:237) at javax.el.BeanELResolver $ BeanProperties.access $ 400(BeanELResolver.java:214) at javax.el.BeanELResolver.property( BeanELResolver.java:325) 在javax.el.BeanELResolver.getValue(BeanELResolver.java:85) 在javax.el.CompositeELResolver.getValue(CompositeELResolver.java:67)
2012-05-14
Dreamer
+0
什么是“设置”? –
+0
我的解释是,异常告诉你你试图访问一个字符串上的名为0的属性,而不是0不是一个字符串。 formBacking属性是否需要是EL表达式而不是“formSettings”? –
+0
嗨戴夫和CaptionAwesomePants,抱歉,迟到的反馈。是的,实际上我应该使用name =“$ {formBacking} [$ {cnt}] .id”而不是name =“$ {formBacking [cnt] .field}”,因为formBacking应该是String之外的变量。方括号“[]”不应该是变量的parit。 –