2011-07-07 6 views
0

チェックボックスから復習したい項目をチェックして、項目を取得するためにリストを反復するときに命令をチェックして無限ループ これは私のコードです:selectManyCheckboxからチェックされたItemを取得しようとするとループが無限にループする

JSF:

<h:selectManyCheckbox value="#{TestAjax.selectedItemscheckbox}"> 
<f:selectItem itemValue="priority.pname" itemLabel="By priority" /> 
<f:selectItem itemValue="project.pname" itemLabel="By project" />  
</h:selectManyCheckbox> 

コード:

public Class TestAjax { 

private ArrayList<String> selectedItemscheckbox; //list of checkbox used for grouping 


public ArrayList<String> getSelectedItemscheckbox() { 
    return selectedItemscheckbox; 
} 

public void setSelectedItemscheckbox(ArrayList<String> selectedItemscheckbox) { 
    this.selectedItemscheckbox = selectedItemscheckbox; 
} 


public void CreateQueryNumber() 
{ 
Iterator it= selectedItemscheckbox.iterator(); 
System.out.println("checkeddddddddddd"+selectedItemscheckbox); 

while(it.hasNext()) ===>loop to the infinity 
{ 
    System.out.println("one"+ it.toString()); 
select ="select count(jiraissue.id) as nb"; 
from ="jiraissue j ,priority pr ,project proj"; 
where="j.project=proj.id"; 
jointure="j.priority =pr.id"; 
groupBy="group by "+it.toString(); 

} 

答えて

4

あなたはit.next()を呼び出していません。この問題を解決するために、あなたはあなたのループの終わり)(it.nextを追加することができ、次のいずれか

while(it.hasNext()){ 
     .... bla bla bla .... 
     it.next(); 
    } 

かのようなものを使用します。あなたがにイテレータをジャンプするit.next()を呼び出していません

Object obj; 
    while((obj = it.next()) != null){ 
     .... bla bla bla .... 
    } 
+0

、)私は(代わりにit.nextのit.toStringを()putedているあなたに感謝、この私はまだ私のコーヒーを飲んでいないため:) – rym

+0

それは毎朝起きます! = P – Fido

1

を次の値。

while(it.hasNext()) 
{ 
    String i_str = it.next().toString(); 
    System.out.println("one"+ i_str); 
    select ="select count(jiraissue.id) as nb"; 
    from ="jiraissue j ,priority pr ,project proj"; 
    where="j.project=proj.id"; 
    jointure="j.priority =pr.id"; 
    groupBy="group by "+i_str; 
} 
0

まだJava 1.4以前ですか?既に1.5以上になっていますよね? enhanced for loopを使用します。

for (String selectedItem : selectedItemscheckbox) { 
    System.out.println(selectedItem); 
    // ... 
} 
+0

ありがとうと私はあなたに、このループを使用して何が利点であることを尋ねたいと思いますか? – rym

関連する問題