具有空值的SelectItem

时间:2015-12-02 18:10:04

标签: jsf seam2

好吧,我有一套应该在selectOneMenu中的汽车。但我有一个SelectItem(null," ALL")。

请参阅我的xhtml:

<h:selectOneMenu value="#{mb.carSelected}">
                        <f:selectItems value="#{mb.cars}" />
                        <s:convertEntity />
                    </h:selectOneMenu>

在我的managedBean(MB)中:

private List<SelectItem> cars = new ArrayList<SelectItem>();
...
cars.add(new SelectItem(null, "ALL"));
        for (Car c : myCars) {
cars.add(new SelectItem(c, c.getModel()));
        }

当我选择&#34; ALL&#34;并单击提交FORM我收到以下错误:

For input string: "ALL"
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
java.lang.Integer.parseInt(Integer.java:449)
java.lang.Integer.<init>(Integer.java:660)
org.jboss.seam.ui.EntityIdentifierStore.get(EntityIdentifierStore.java:46)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32)
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
org.jboss.seam.core.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:32)
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185)
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103)
org.jboss.seam.ui.EntityIdentifierStore_$$_javassist_seam_13.get(EntityIdentifierStore_$$_javassist_seam_13.java)
org.jboss.seam.ui.AbstractEntityLoader.get(AbstractEntityLoader.java:27)
org.jboss.seam.ui.EntityConverter.getAsObject(EntityConverter.java:76)

我调试代码并注意到&#34; EntityConverter.getAsObject&#34;传递的值是&#34; ALL&#34;并发生转换错误。但其他实体传递的值如1,2,3 ......

0 个答案:

没有答案
相关问题