2016-09-22 3 views
0

에 저장됩니까 방법 : http://andrejusb.blogspot.ca/2015/06/select-one-choice-with-select-items-tag.html이 selectItems 필드 내가이 블로그를 읽고 있던 데이터베이스

그는 빈에있는 값의 목록이 지정 selectItems을 만듭니다. 다른 필드는 데이터베이스의 테이블에 해당하는 뷰에 바인딩됩니다. 사용자가 save all을 클릭하면이 모든 필드가 저장되지만이 새로운 사용자 정의 selectItem이 저장되는 방식을 이해할 수 없습니다. 데이터베이스의 테이블에 바인딩되지 않습니다. 어떻게 작동할까요? 이 사용자 지정 값 목록을 데이터베이스에 저장하려면 어떻게해야합니까?

답변

0

그는 bean 기반 selectItem을 만드는 법을 보여 주던 중입니다. 사용자가 선택하면, 당신은 당신의 백업 코드에서 선택의 인덱스를 캡처해야합니다

<af:selectOneChoice label="Select Search" id="socSrch" autoSubmit="true" valueChangeListener="#pageFlowScope.wci.handleSelectSearch}"              contentStyle="width:250px"> 
    <f:selectItems id="si1" value="#{pageFlowScope.wci.searchNames}"/> 
</af:selectOneChoice> 

public void handleSelectSearch(ValueChangeEvent valueChangeEvent) {   
    if (valueChangeEvent.getNewValue() == null) { 
       return; 
    }  
    int selSearch = (Integer) valueChangeEvent.getNewValue(); 
    //...now write this to DB via code handle to view and field if desired   
} 

을이 시점에서 당신이를 통해 데이터베이스에 선택한 항목의 인덱스 (값을) 쓰는할지 여부를 결정하는 할 수 있습니다 backing bean 코드 핸들을 뷰로 가져 오거나 일부 코딩을 사용하여 선택 항목의 백업 ArrayList에서 선택 항목의 레이블을 가져 와서 뷰에 채우고 커밋 할 수 있습니다. 보기에는 필드에 넣기를 원할 것입니다.