这就是我的问题。
我在表单中获得了一个selectManyChoice (这不是视图条件的一部分)。一切都很好,除了当用户选择一个或多个条目时,他们不能全部取消选择,否则我会得到PPR异常。
我的设置是一个基于查询的简单LOV,它在我的AM数据模型中可用,我只需将LOV从我的数据控件拖到表单再拖到selectManyChoice。selectManyChoice是autoSubmit格式的,因为我还得到了一个需要提示的onValueChangeListener。
如果没有我的onValueChangeListener,我仍然会以同样的方式得到错误(选择某些内容,然后取消选择所有内容)
将选择留空不会产生任何错误,也不会让表单正常使用,但选择某个内容然后取消选择会导致错误...
出于信息目的,我使用的是jDeveloper版本11.1.1.9.0
提前感谢!
下面是启动的PPR错误,以防它能提供帮助
java.lang.NullPointerException
at oracle.adfinternal.view.faces.model.binding.FacesCtrlListBinding.findObjectFromIndex( FacesCtrlListBinding.java:292)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlListBinding.getInputValue( FacesCtrlListBinding.java:215)
at oracle.jbo.uicli.binding.JUCtrlValueBinding.internalGet(JUCtrlValueBinding.java:2374)
at oracle.jbo.uicli.binding.JUCtrlListBinding.internalGet(JUCtrlListBinding.java:3807)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlListBinding.internalGet( FacesCtrlListBinding.java:524)
at oracle.adf.model.binding.DCControlBinding.get(DCControlBinding.java:768)
at javax.el.MapELResolver.getValue(MapELResolver.java:196)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:173)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:200)
at com.sun.el.parser.AstValue.getValue(AstValue.java:138)
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:206)
at org.apache.myfaces.trinidad.bean.FacesBeanImpl.getProperty(FacesBeanImpl.java:68)
at org.apache.myfaces.trinidad.component.UIXComponentBase.getProperty(UIXComponentBase.java:1429)
at org.apache.myfaces.trinidad.component.UIXValue.getValue(UIXValue.java:79)
at org.apache.myfaces.trinidad.component.UIXEditableValue.validate(UIXEditableValue.java:187)
at org.apache.myfaces.trinidad.component.UIXEditableValue._executeValidate(UIXEditableValue.java:616)
at org.apache.myfaces.trinidad.component.UIXEditableValue.processValidators(UIXEditableValue.java:304)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl$ProcessValidationsCallback.invokeContextCallback (LifecycleImpl.java:1675)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1661)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents( UIXComponentBase.java:1565)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1682)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents( UIXComponentBase.java:1565)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1682)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents( UIXComponentBase.java:1565)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1682)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents( UIXComponentBase.java:1565)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1682)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents( UIXComponentBase.java:1565)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1682)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents( UIXComponentBase.java:1565)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1682)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents( UIXComponentBase.java:1565)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1682)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents( UIXComponentBase.java:1565)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.invokeOnComponent( ContextSwitchingComponent.java:223)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents( UIXComponentBase.java:1565)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1682)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents( UIXComponentBase.java:1565)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1682)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents( UIXComponentBase.java:1565)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1682)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents( UIXComponentBase.java:1565)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1682)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents( UIXComponentBase.java:1565)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1682)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents( UIXComponentBase.java:1565)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1682)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents( UIXComponentBase.java:1565)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1682)
at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents( UIXComponentBase.java:1565)
at oracle.adf.view.rich.component.fragment.UIXInclude.invokeOnComponent(UIXInclude.java:157)发布于 2019-09-05 20:29:46
显然,它有一个补丁,错误发生在版本11.1.1.7.0到11.1.1.9.0以下是描述该问题的oracle工单的链接
support.oracle.com ticket page
修复此问题所需的补丁编号为16224082
此问题已在12.1.3.0.0中修复
https://stackoverflow.com/questions/57792958
复制相似问题