我想在数组中设置值但接收Classcastexception ..
代码示例: page.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Really simple CRUD</title>
</h:head>
<h:body>
<h:form id="form">
<p:growl autoUpdate="true" showDetail="true"/>
<h:selectOneMenu converter="javax.faces.Integer" value="#{adminMBean.a[0]}">
<f:selectItem itemLabel="1" itemValue="1"/>
<f:selectItem itemLabel="2" itemValue="2"/>
</h:selectOneMenu>
<h:commandButton value="ok" action="#{adminMBean.ok()}"/>
<h:outputText value="sa:#{adminMBean.a[0]}"/>
</h:form>
</h:body>
@ManagedBean(name = "adminMBean")
@RequestScoped
public class AdminMBean {
int[] a=new int[1];
public AdminMBean(){}
public int[] getA() {
return a;
}
public void setA(int[] a) {
this.a = a;
}
}
如何使用selectonemenu将值设置为数组?
答案 0 :(得分:1)
您读取 ClassCastException
消息了吗?它应该是这样的:
java.lang.ClassCastException:无法将[java.lang.Integer]类型的对象添加到[int]类型的对象数组中
请注意,您应该使用Integer[]
代替int[]
。
private Integer[] a = new Integer[1];
public Integer[] getA() {
return a;
}
顺便说一下,setter是不必要的。它不会用在这个结构中。