Ola, estou tentando criar um formulario onde haveram varios cursos para a pessoa selecionar(checkbox) apos isso tera um botao com ajax, onde na mesma pagina ira aparecer em um datatable o nome dos cursos selecionados, porem consigo apenas utilizando List<String> para obter os nomes, mas eu preciso que seja um List<Curso> pois preciso do id para gravar no BD.
Segue um exemplo da minha classe e do meu MB:
[color=red]OBS: errei uma coisa, ali é um ArrayList de Curso.[/color]
E essa é minha tela:
Meu MB(reduzido, deixando apenas essas partes):
@ManagedBean
@SessionScoped
public class BeanPost {
private Post post = new Post();
private ArrayList<Curso> cursosSelects = new ArrayList<Curso>();
public BeanPost() {
DaoCurso dc = new DaoCurso();
post.setCategorias(dc.getAllCurso());
}
public ArrayList<Curso> getCursosSelects() {
return cursosSelects;
}
public void setCursosSelects(ArrayList<Curso> cursosSelects) {
this.cursosSelects = cursosSelects;
}
public Post getPost() {
return post;
}
public void setPost(Post post) {
this.post = post;
}
Minha View:
<h:selectManyCheckbox value="#{beanPost.cursosSelects}" layout="pageDirection">
<f:selectItems value="#{beanPost.post.categorias}" var="categ"
itemLabel="#{categ.nome}" itemValue="#{categ.class}"/>
</h:selectManyCheckbox>
Parte do datatable, porem está errado, pois ele nem mesmo aceita a propriedade “nome” da var “selec”.
<h:dataTable value="#{beanPost.cursosSelects}" var="selec">
<h:column>
<h:outputText value="#{selec}"/>
</h:column>
</h:dataTable>
Agradeco a quem puder me ajudar, e me desculpe a falta de conhecimento!