Binding de Arraylist com checkbox Spring taglib form

Boa tarde pessoas,

Estou tentando realizar o binding de algumas checkboxes em um formulário html (usando a taglib do spring framework disponível em <%@ taglib prefix=“form” uri=“http://www.springframework.org/tags/form”%> ) para uma lista presente em um objeto.

Classe Framework:

[code]package models;

public class Framework {

private Long id;
private String nome;

public Framework(Long id, String nome) {
	this.id = id;
	this.nome = nome;
}

public Long getId() {
	return id;
}

public void setId(Long id) {
	this.id = id;
}

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

}[/code]

Classe Usuario (contendo um Arraylist de frameworks que o usuário usa):

[code]package br.gov.sp.mococa.models;

import java.util.List;

public class Usuario {

private String nome;
private String login;
private String senha;
private boolean ativo;
private List<Framework> frameworksFavoritos;
private String sexo;
private String pais;
private String habilidadesJava;

public Usuario() {

}

public Usuario(String nome, String login, String senha, boolean ativo,
		List<Framework>  frameworksFavoritos, String sexo, String pais,
		String habilidadesJava) {
	super();
	this.nome = nome;
	this.login = login;
	this.senha = senha;
	this.ativo = ativo;
	this.frameworksFavoritos = frameworksFavoritos;
	this.sexo = sexo;
	this.pais = pais;
	this.habilidadesJava = habilidadesJava;
}

public String getNome() {
	return nome;
}

public String getLogin() {
	return login;
}

public void setLogin(String login) {
	this.login = login;
}

public void setNome(String nome) {
	this.nome = nome;
}

public String getSenha() {
	return senha;
}

public void setSenha(String senha) {
	this.senha = senha;
}

public boolean isAtivo() {
	return ativo;
}

public void setAtivo(boolean ativo) {
	this.ativo = ativo;
}

public List<Framework>  getFrameworksFavoritos() {
	return frameworksFavoritos;
}

public void setFrameworksFavoritos(List<Framework>  frameworksFavoritos) {
	this.frameworksFavoritos = frameworksFavoritos;
}

public String getSexo() {
	return sexo;
}

public void setSexo(String sexo) {
	this.sexo = sexo;
}

public String getPais() {
	return pais;
}

public void setPais(String pais) {
	this.pais = pais;
}

public String getHabilidadesJava() {
	return habilidadesJava;
}

public void setHabilidadesJava(String habilidadesJava) {
	this.habilidadesJava = habilidadesJava;
}

}[/code]

JSP:

[code]<%@ taglib prefix=“form” uri=“http://www.springframework.org/tags/form”%>
<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>
<%@ page language=“java” contentType="text/html; charset=ISO-8859-1"
pageEncoding=“ISO-8859-1”%>

Untitled Document
     
Nome:  
     
Login:  
     
Senha:  
     
Ativo?  
     
Frameworks Favoritos: ${framework.nome}  
     
Sexo:  
     
País:  
     
Habilidades Java:  
     
   

</form:form>

[/code]

Controller (método GET da página):

[code]@RequestMapping(value = “novo-usuario”, method = RequestMethod.GET)
public String carregarPaginaNovoUsuario(HttpServletRequest request, Model model, @ModelAttribute(“usuario”) Usuario usuario ) {

	Framework fw1 = new Framework(1L, "SPRING");
	Framework fw2 = new Framework(2L, "STRUTS 2");
	Framework fw3 = new Framework(3L, "JSF");
	
	List<Framework> listaFrameworksFavoritos = new ArrayList<>();
	listaFrameworksFavoritos.add(fw1);
	listaFrameworksFavoritos.add(fw2);
	listaFrameworksFavoritos.add(fw3);
	
	usuario.setFrameworksFavoritos(listaFrameworksFavoritos);
	
	String[] listaHabilidadesJava = {"NENHUMA", "HIBERNATE"};
	List<String> listaPaises = new ArrayList<>();
	
	listaPaises.add("ARGENTINA");
	listaPaises.add("BRASIL");
	
	model.addAttribute("listaHabilidadesJava", listaHabilidadesJava);
	model.addAttribute("listaPaises", listaPaises);
	model.addAttribute("usuario", usuario);
	
	return "novo-usuario";
}[/code]

Controller (método POST da página):

[code]@RequestMapping(value = “novo-usuario”, method = RequestMethod.POST)
public String salvarUsuario(Usuario usuario, BindingResult result, HttpServletRequest request, Model model) {

		for (int i = 0; i < usuario.getFrameworksFavoritos().size(); i++) {
			System.out.println("FRAMEWORKS FAVORITOS: " + usuario.getFrameworksFavoritos().get(i));
		}
		return "sucesso";
}[/code]

Porém, dá NullPointerException na linha 4 do último código - onde pego os frameworks do usuario, ou seja, a lista tá vazia.

Alguém pode dar uma luz, estou há 3 dias nisso.

Grato desde já, abraços.

Ninguem?

No one?

Up.

Ninguem?

Up!