2012-01-16 1 views
0

나는 다중 선택 목록 상자가 있으며 사용자가 선택할 요소의 수에 따라 같은 수의 확인란을 표시해야합니다. jsf 및 primefaces/spring 웹 플로우를 사용하고 있습니다. 내가 어떻게 할 수 있니? 어떤예요? 그리고 한 번의 클릭으로 생성 된 모든 체크 박스를 확인할 수있는 하나의 체크 박스를 만들어야합니다.jsf 체크 박스 생성

답변

1

는 I는 다중 선택리스트 박스

따라서, 고정 된 값을 가지는 <f:selectItems><h:selectManyListbox>있다. 같은과 함께

<h:selectManyListbox id="listbox" value="#{bean.selectedListboxItems}"> 
    <f:selectItems value="#{bean.availableListboxItems}" /> 
</h:selectManyListbox> 

: 많은 요소 사용자가 내가 이렇게 체크 박스

의 동일한 수를 표시 할 필요가 선택하는 방법에

private List<String> availableListboxItems; 
private List<String> selectedListboxItems; 

@PostConstruct 
public void init() { 
    availableListboxItems = new ArrayList<String>(); 
    availableListboxItems.add("menu item 1"); 
    availableListboxItems.add("menu item 2"); 
    availableListboxItems.add("menu item 3"); 
} 

와 따라, 012의 <f:selectItems>을 미리 입력하십시오.은 <h:selectManyListbox>의 값을 기준으로합니다. 뭔가

<h:commandButton value="Generate checkboxes"> <f:ajax execute="listbox" listener="#{bean.generateCheckboxes}" render="checkboxes" /> </h:commandButton> <h:selectManyCheckbox id="checkboxes" value="#{bean.selectedCheckboxItems}"> <f:selectItems value="#{bean.availableCheckboxItems}" /> </h:selectManyCheckbox> 


private List<String> availableCheckboxItems; private List<String> selectedCheckboxItems; public void generateCheckboxes() { availableCheckboxItems = new ArrayList<String>(); for (int i = 1; i <= selectedListboxItems.size(); i++) { availableCheckboxItems.add("checkbox item " + i); } } 

처럼 나는 JSF와 primefaces/스프링 webflow을 사용하고 있습니다. 내가 어떻게 할 수 있니? 어떤예요?

나는 위의 간단한 예제로 충분하다고 생각한다. PrimeFaces의 경우 <h:xxx><p:xxx>으로 바꿉니다. 그러나 Spring Webflow가 어떻게 사용했는지는 알지 못합니다.


와 나는 한 번의 클릭을 사용하여 생성 된 모든 확인란을 선택 할 수 있도록 하나 개의 체크 박스를 확인해야합니다.

그건 연습 문제로 남았습니다. 힌트 : availableCheckboxItems에 "선택 항목 토글"을 나타내는 <h:selectBooleanCheckbox>의 현재 값에 따라 원하는 값이 포함되어 있는지 확인하십시오.

+0

위대한 답변 :)하지만 내가 만드는 동안 체크 박스 중 일부를 확인하도록 만들 수 있습니까? 둘째, 모든 문자열을 넣었지 만 클래스의 객체 (예 : 자동차)를 사용할 때 어떻게해야하며 목록 상자에서 선택한 후에 목록에 객체를 저장하려고합니다. 내 개체를 toString 메서드 또는 jsf 어떻게 관리해야합니다 의미합니까? –

+0

1) 'selectedCheckboxItems'을 미리 채우기 만하면됩니다. 2) 그것은 단지 기본적인 예일뿐입니다. 귀하의 경우에는 '변환기'만 구현하십시오. – BalusC

+0

내 질문에 마지막으로 얘기하면, 그냥 체크 후 적절한 체크 박스 selectedCheckboxItems의 모든 요소를 ​​설정하고 rerender ? –