Как передать HashMap тегу forEach в xls, сгенерированном Jett?

У меня есть карта в управляемом бобе

    private Map<FaseProducao, Set<FichaTecnicaOperacao>> fichasTecnicasOperacaoResumo;

что ссылка на сущность FichaTecnica:

public class FichaTecnica{
//...
    private Set<FichaTecnicaOperacao> operacoes;
}

который мне нужно передать в качестве параметра для beans.put (), чтобы сгенерировать xls с помощью jett:

public void createRelatorioFichaTecnica(FichaTecnica fichaTecnica) throws IOException {
    //ommited...
    Map<String, Object> beans = new HashMap<String, Object>();
    beans.put("operacaoResumo", fichasTecnicasOperacaoResumo);

    try (ByteArrayOutputStream saida = new ByteArrayOutputStream();
            InputStream template = this.getClass().getResourceAsStream("/templates/jett/fichaTecnica.xls");
            Workbook workbook = transformer.transform(template, beans);) {
            //ommited...
            }
}

когда генерируется xls, возникает исключение:

WARNING [javax.enterprise.resource.webcontainer.jsf.lifecycle] (default task-28) #{ProdutoManagedBean.createRelatorioFichaTecnica(row)}: net.sf.jett.exception.AttributeExpressionException: Expected a "java.util.Collection" for "items", got a "java.util.HashMap":  "${operacaoResumo}".

так что я не понимаю эту ошибку, потому что карта является правильной коллекцией? Так почему же он не распознает его в items = "$ {operacaoResumo}"? Я создал это для каждого на основе ссылки на сайте: http://jett.sourceforge.net/tags/forEach.html

0 ответов

Как сказал @rgettman, я сделал:

public void createRelatorioFichaTecnica(FichaTecnica fichaTecnica) throws IOException {
    //ommited...
    Map<String, Object> beans = new HashMap<String, Object>();
    beans.put("operacaoResumo", fichasTechicasOperacaoResumo.keySet());

}

Спасибо вам всем!

Другие вопросы по тегам