2010-12-29 3 views
2

동적으로 생성 된 양식을 가지고 있으므로 jsf 구성 요소의 데이터를 직접 가져올 수 없습니다. 메서드에 전달 된 매개 변수를 사용하여 selectItem을 가져 오는 방법이 있다면 방황하는 것입니까? 예 : 그리고 getItems (String a) 메소드JSF 2.0에서 param을 사용하는 selectOneMenu의 selectItems

을 호출하거나 어떻게 든 사용할 수 있습니다.

가능합니까? getter와 setter를 매개 변수화하는 다른 방법이 있습니까?

+0

당신이 지금까지 한 것을 시각화하기가 어렵습니다. 일부 코드는 더 나은 통찰력을 얻고 더 나은 답을 줄 수 있습니다. – BalusC

답변

3

javabeans 속성 명명 규칙을 사용하는 대신 직접 메서드를 호출하면됩니다.

즉. 대신 :

<f:selectItems value="#{someBean.list}" /> 

할 : 당신의 백업 빈의 getList 방법은 인수를

<f:selectItems value="#{someBean.getList(myparamter)}" /> 

.

+1

Servlet 3.0/JSP 2.2 컨테이너의 상자에서만 작동한다는 것을주의해야합니다. 그렇지 않으면 예를 들어 JBoss EL으로 EL 구현을 대체해야합니다. 그러나 이것이 OP의 실제 문제에 대한 "답변"이라는 점에서 편리하지 않습니다. – BalusC

0

나는 그것이 당신을 도울 수 있다고 생각합니다.

<h:selectOneMenu id="selectItem" 
value="#{someBean.itemThatIsGoingToBeFilled}"> 
    <f:selectItems 
    value="#{someBean.list}" /> 
</h:selectOneMenu> 

여기 Small tutorial There`s :

당신이해야 할 모든

은 이렇게 XHTML에

public class SomeBean{ 
    public List<SelectItem> getList(){ 
    List<ItemType> list = getItemsFromSomewhereElse(); 
    List<SelectItem> resultList = new ArrayList<SelectItem>(); 
    for (ItemType it : list){ 
     SelectItem item = new SelectItem(it.getKey(), it.getValue()); 
     resultList.add(item); 
    } 
    return resultList; 
    } 
} 

입니다.

관련 문제