【发布时间】:2012-09-15 17:00:15
【问题描述】:
适用于 tomcat 6。
查看:<h:inputText> 映射到 bean 中的 double。
我看了看,除非我是盲人,否则我们依赖 Tomcat 提供的 EL。
在 Tomcat 7 上运行时会抛出:
严重:javax.faces.FacesException: java.lang.IllegalArgumentException:参数类型不匹配 javax.faces.FacesException:java.lang.IllegalArgumentException: 参数类型不匹配 com.sun.faces.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:142)
引起:javax.faces.component.UpdateModelException: java.lang.IllegalArgumentException:参数类型不匹配 javax.faces.component.UIInput.updateModel(UIInput.java:853) 在 javax.faces.component.UIInput.processUpdates(UIInput.java:735) 在 javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1242) 在 javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1242) 在 javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1242) 在 javax.faces.component.UIForm.processUpdates(UIForm.java:281) 在 javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1242) 在 javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1242) 在 javax.faces.component.UIViewRoot.processUpdates(UIViewRoot.java:1231) 在 com.sun.faces.lifecycle.UpdateModelValuesPhase.execute(UpdateModelValuesPhase.java:78) 在 com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) ... 30 更多
原因:java.lang.IllegalArgumentException:参数类型不匹配 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)在 java.lang.reflect.Method.invoke(未知来源)在 dk.bording.inside.util.reflect.Reflection.set(Reflection.java:442) 在 dk.bording.inside.adapter.entity.MapAdapter.invoke(MapAdapter.java:87) 在 dk.bording.inside.adapter.entity.MapAdapter.put(MapAdapter.java:50) 在 javax.el.MapELResolver.setValue(MapELResolver.java:94) 在 com.sun.faces.el.DemuxCompositeELResolver._setValue(DemuxCompositeELResolver.java:255) 在 com.sun.faces.el.DemuxCompositeELResolver.setValue(DemuxCompositeELResolver.java:281) 在 org.apache.el.parser.AstValue.setValue(AstValue.java:207) 在 org.apache.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:257) 在 org.jboss.weld.el.WeldValueExpression.setValue(WeldValueExpression.java:64) 在 com.sun.faces.facelets.el.TagValueExpression.setValue(TagValueExpression.java:131) 在 javax.faces.component.UIInput.updateModel(UIInput.java:818) ... 还有 40 个
有什么建议吗?
【问题讨论】: