好吧,我不知道爲什麼它說我的目標不是一個集合或數組,因爲我試圖將一個selectManyCheckbox的結果放入一個整數數組。它只是一個1-50的複選框,用戶可以選擇多個數字存儲在數組中並稍後顯示,但我一直收到錯誤消息「目標模型類型不是集合或數組」錯誤報告。這是否需要保存在Object數組中而不是整數數組中?我知道還有其他線程處理這個相同的問題,但我看到的其他線程通常是使用錯誤類型的複選框或某人沒有存儲在數組或集合中的人。任何幫助將非常感激。selectManyCheckbox元素不復制到陣列時檢查項目
<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>
而且myLottoBean類...
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);
}
}
好吧,我看到後,最終改寫了整個事情。我覺得這樣會更容易。我想我想我有一個數組作爲參數,所以它會好起來的,但顯然沒有奏效。至於getter方法返回一個字符串,這就是我想要的。我將發佈下面現在正在工作的代碼。 – 2013-03-13 18:05:28