Bom, basicamente esta pagina deveria carregar de um banco de dados uma lista de filmes do genero drama e exibilas como opções do selectManyCheckbox, mas esta dando erro:
o errojava.lang.IllegalArgumentException
at com.sun.faces.renderkit.SelectItemsIterator.initializeItems(Unknown Source)
at com.sun.faces.renderkit.SelectItemsIterator.hasNext(Unknown Source)
at com.sun.faces.renderkit.html_basic.SelectManyCheckboxListRenderer.encodeEnd(Unknown Source)
at javax.faces.component.UIComponentBase.encodeEnd(Unknown Source)
at javax.faces.component.UIComponent.encodeAll(Unknown Source)
at javax.faces.component.UIComponent.encodeAll(Unknown Source)
at javax.faces.component.UIComponent.encodeAll(Unknown Source)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(Unknown Source)
at com.sun.faces.application.view.MultiViewHandler.renderView(Unknown Source)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(Unknown Source)
at com.sun.faces.lifecycle.Phase.doPhase(Unknown Source)
at com.sun.faces.lifecycle.LifecycleImpl.render(Unknown Source)
at javax.faces.webapp.FacesServlet.service(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:636)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Locadora do Zamba</title>
</h:head>
<h:body>
<p:breadCrumb>
<p:menuitem value="categories" url="principal2.xhtml" />
<p:menuitem value="Drama" url="drama.xhtml" />
<p:menuitem value="Romance" url="romance.xhtml"/>
<p:menuitem value="Ficção" url="ficcao.xhtml" />
<p:menuitem value="Terror" url="terror.xhtml" />
<p:menuitem value="Suspense" url="suspense.xhtml" />
</p:breadCrumb>
<h:outputText value="Usuario:" />
<h:outputText value="#{usuarioManagedBean.usuario.login}" />
<h:outputText value=" esta conectado." />
<h:form>
<h:commandLink value="Deslogar" action="#{usuarioManagedBean.deslogar}" />
</h:form>
<h:outputText value="Filmes genero Drama"/>
<h:selectManyCheckbox value="#{usuarioManagedBean.filmeSelecionados}">
<f:selectItems value="usuarioManagedBean.listaFilmes"/>
</h:selectManyCheckbox>
<h:commandButton value="submit" action="#{usuarioManagedBean.gravar}"/>
</h:body>
</html>
package pojo;
import java.util.List;
import java.util.ArrayList;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import pojo.Usuario;
import javax.faces.application.FacesMessage;
import java.sql.*;
@ManagedBean
@SessionScoped
public class UsuarioManagedBean {
private List<String> listaFilmes;
private List<String> filmeSelecionados=new ArrayList<String>();
private Usuario usuario;
private Validador validador;
public UsuarioManagedBean(){
usuario=new Usuario();
listaFilmes=new ArrayList<String>();
}
public List<String> getFilmeSelecionados(){
return filmeSelecionados;
}
public void setFilmeSelecionados(List<String> filmeSelecionados){
this.filmeSelecionados=filmeSelecionados;
}
public List<String> getListaFilmes(){
return listaFilmes;
}
public void setListaFilmes(List<String> listaFilmes){
BD bd=new BD();
if(bd.getConnection()){
try{
String sql="select nome from filmes where genero='drama'";
PreparedStatement statement=bd.connection.prepareStatement(sql);
ResultSet resultSet=statement.executeQuery();
while(resultSet.next()){
listaFilmes.add(resultSet.getString("nome"));
}
bd.close();
}
catch(SQLException erro){
System.out.println("Erro encontrado:" + erro);
}
}
this.listaFilmes=listaFilmes;
}
public Usuario getUsuario(){
return usuario;
}
public void setUsuario(Usuario usuario){
this.usuario=usuario;
}
public String logar(){
validador=new Validador();
if(validador.validar(usuario.getLogin(),usuario.getSenha())){
System.out.println("Encontrou o usuario");
return "OK";
}
FacesMessage msg=new FacesMessage("Usuario/senha invalidos");
FacesContext.getCurrentInstance().addMessage("form", msg);
return "";
}
public String deslogar(){
usuario=new Usuario();
return "LOGOUT";
}
public void gravar(List<String> filmes){
}
}
Obrigado