2012-09-13 76 views
0

我正在學習Seam幾天以來,我想創建簡單的過濾器使用 <h:selectManyCheckbox><f:selectItems>標籤。 這裏是標籤斷枝XHTML文件:如何正確使用<h:selectManyCheckbox>和<f:selectItems>與條件

<h:selectManyCheckbox value="#{userSessionsSession.selected}"> 
    <f:selectItems value="#{usersSessionsPage.logLevelList}" /> 
</h:selectManyCheckbox> 

中UserSessionSession我:

private List<String> selected; 

    public List<String> getSelected() { 
     return selected; 
    } 

    public void setSelected(List<String> selected) { 
     this.selected = selected; 
    } 

UserSessionPage:

private List<SelectItem> logLevelList; 

public List<SelectItem> getLogLevelList(){ 
     if(logLevelList == null){ 
      logLevelList = new ArrayList<SelectItem>(); 
      Collection<MdoUserSessionDetStatus> tmpList = sessionAuditUtils.getDetailsStatusEntities(); 
      for(MdoUserSessionDetStatus mdo: tmpList){ 
       logLevelList.add(new SelectItem(mdo.getCode(), mdo.getName())); 
      } 
     } 
     return logLevelList; 
    } 

,並在功能上與標準restictions:

if (selected != null && !ANY_STATUS.equals(selected)) { 
      criteria.add(Restrictions.eq("mdoUserSessionDetStatus.code", selected)); 
     } 

當我檢查和提交選項沒有任何反應和控制檯dispalys警告:

WARNING: FacesMessage(s) have been enqueued, but may not have been displayed. 
sourceId=filterPanelForm:j_id163[severity=(ERROR 2), summary=(Conversion Error setting value 'DEBUG' for '#{userSessionsSession.selected}'.), detail=(Conversion Error setting value 'DEBUG' for '#{userSessionsSession.selected}'.)] 

我不知道如何正確處理這個事件,任何一個能幫助我嗎? 我將不勝感激。

+1

嘗試添加''這將顯示頁面上的錯誤,你不會有警告 – Daniel

回答

0

你將不得不改變它

private SelectItem[] logLevelList; 

public SelectItem[] getLogLevelList(){ 

if(logLevelList == null){ 

Collection<MdoUserSessionDetStatus> tmpList = sessionAuditUtils. 
                getDetailsStatusEntities(); 

logLevelList = new SelectItem[tmpList .size() + 1]; 

for(MdoUserSessionDetStatus mdo: tmpList){ 
      logLevelList.add(new SelectItem(mdo.getCode(), mdo.getName())); 
     } 
    } 
    return logLevelList; 
} 
+0

得到日誌服務器是什麼錯誤顯示與此代碼???? –

+0

你沒有清楚地說明你改變了什麼,所以你的回答很難理解。根據代碼,您基本上將'List '類型更改爲'SelectItem []'(帶有編譯錯誤!)。這沒有意義。這兩種類型都很好。你也沒有以任何方式解釋*這是如何解決OP的具體問題,你只是在黑暗中猜測和刺傷,而沒有真正回答OP的具體問題。這個答案應該被刪除。誰高舉這個答案也是錯誤的。 – BalusC

+0

答案中的代碼不能編譯。 'SelectItem []'沒有'add()'方法。此外,對於''完全沒有區別,無論你是否返回'SelectItem []'或'List '。你基本上不解釋/回答*任何東西*。您只是在黑暗中發佈代碼片段而不真正理解問題。 – BalusC

相關問題