0

<h:selectManyCheckbox>数日前から Seam を学習しており、 と<f:selectItems>タグを使用して簡単なフィルターを作成したいと考えてい ます。タグ付きのfrag xhtmlファイルは次のとおりです。

<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;
    }

ユーザーセッションページ:

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; 
    }

および基準制限付きの機能:

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

オプションを確認して送信すると、何も起こらず、コンソールに警告が表示されます。

 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}'. )]

このイベントを正しく処理する方法がわかりません。誰か助けてもらえますか? 私は感謝するでしょう。

4

1 に答える 1

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; 
 }
于 2012-09-13T11:28:49.673 に答える