2013-04-23 6 views
0

JSF 페이지에서지도 및 목록으로 사용할 수있는 데이터가 있습니다.JSF에서 값 목록을 반복하여 변수/매개 변수로 연결할 수 있습니까?

<ui:param name="phrase" value="" /> 
    <ui:repeat value="wordList" var="wordEntry"> 
     <ui:param name="phrase" value="#{concat(wordEntry.word)}" /> 
    </ui:repeat> 

<!--Show phrase --> 
    #{phrase} 

가 어떻게 JSF에서이 작업을 수행 할 수 있습니다

[ 
    { 
     word: "word1" 
     altWord : "altWord1" 
    }, 
    { 
     word: "word2" 
     altWord : "altWord2" 
    }, 
    { 
     word: "word3" 
     altWord : "altWord3" 
    } 
    ] 

나는이 목록을 통해 루프를 원하는 예를 들면 다음과 같습니다?

답변

1

나는 당신이 달성하고 싶은 것을 100 % 확신하지는 않지만 시도하도록하겠습니다. 당신이 이런 관리 빈에서지도의 목록을 의미합니까 :

@SessionScoped 
@ManagedBean 
public class TestBean { 
    private List<Map<String, String>> wordList = new ArrayList<Map<String, String>>(); 

    @PostConstruct 
    public void init() { 
    Map<String, String> wordEntry = new HashMap<String, String>(); 
    wordEntry.put("word", "word1"); 
    wordEntry.put("altWord", "altWord1"); 
    wordList.add(wordEntry); 
    wordEntry = new HashMap<String, String>(); 
    wordEntry.put("word", "word2"); 
    wordEntry.put("altWord", "altWord2"); 
    wordList.add(wordEntry); 
    } 

    public List<Map<String, String>> getWordList() { 
    return wordList; 
    } 
} 

네, 다음 ui:repeat와보기의 값을 연결하는 것은 쉬운 경우 :

<ui:repeat var="wordEntry" value="#{testBean.wordList}" varStatus="status"> 
    <h:outputText value="#{wordEntry['word']}"/> 
    <h:outputText value=" (#{wordEntry['altWord']})"/> 
    <h:outputText value=", " rendered="#{not status.last}"/> 
</ui:repeat> 

이 것 출력 다음 문자열 :

word1 (altWord1), word2 (altWord2)