好的,我不确定为什么说我的目标不是集合或数组,因为我试图将 selectManyCheckbox 的结果放入整数数组中。它只是一个 1-50 的复选框,用户可以在其中选择多个数字以存储在数组中并稍后显示,但我不断收到错误消息“目标模型类型不是集合或数组”错误报告。这是需要保存在对象数组而不是整数数组中的东西吗?我知道还有其他线程处理同样的问题,但我看到的其他线程通常是使用错误类型的复选框或未存储在数组或集合中的人。任何帮助将非常感激。
<p>
Pick Your Lotto Numbers
<h:selectManyCheckbox value="#{lottoBean.numbersPicked}"
layout="lineDirection">
<f:selectItems value="#{lottoBean.numberChoices}"/>
</h:selectManyCheckbox>
</p>
<p>
<h:commandButton value="Submit"
action="next.xhtml"/>
</p>
还有我的LottoBean 类...
int[]choices = new int[50];
int[]picked;
int[]actual;
int test = 5;
/**
* Creates a new instance of LottoBean
*/
@SuppressWarnings("empty-statement")
public LottoBean() {
picked = new int[6];
actual = new int[6];
}
public void setNumbersPicked(int[] chosen)
{
for(int i =0; i < 6; i++)
{
picked[i] = chosen[i];
}
}
@SuppressWarnings("empty-statement")
public String getNumbersPicked()
{
return Arrays.toString(picked);
}
public int[] getNumberChoices()
{
for (int i = 0; i < 50; i++)
{
choices[i] = i + 1;
}
return choices;
}
public String getNumbersDrawn()
{
Random num = new Random();
for (int i = 0; i < 6; i++)
{
int nextNum = num.nextInt(50);
int number = nextNum + 1;
actual[i] = number;
}
return Arrays.toString(actual);
}
}