Categoria produtos hibernate com spring + jsp

Eu estou com uma dúvida faz umas horas. Criei uma classe categoria e um produto, quero que meu cliente cadastre um categoria para que na parte de jsp de cadastrar um produto ele posso dizer que aquele produto é dessa categoria mas não consigo fazer com que minha jsp e controller cadastre o produto e mostre as categorias relacionadas. Como faço esse controlado e essa jsp de cadastro de produtos?

minhas classes

@Entity
public class Produto {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String nome;
private String descricao;
private BigDecimal preco;

@ManyToOne
@JoinColumn(name="categoria_id")
private Categoria categoria;

public Integer getId() {
	return id;
}

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

public String getNome() {
	return nome;
}

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

public String getDescricao() {
	return descricao;
}

public void setDescricao(String descricao) {
	this.descricao = descricao;
}

public BigDecimal getPreco() {
	return preco;
}

public void setPreco(BigDecimal preco) {
	this.preco = preco;
}

public Categoria getCategoria() {
	return categoria;
}

public void setCategoria(Categoria categoria) {
	this.categoria = categoria;
}

}

@Entity
public class Categoria {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String nome;
private String descricao;

@OneToMany(mappedBy = "categoria", targetEntity = Produto.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private List<Produto> produtos = new ArrayList<Produto>();

public Integer getId() {
	return id;
}

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

public String getNome() {
	return nome;
}

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

public String getDescricao() {
	return descricao;
}

public void setDescricao(String descricao) {
	this.descricao = descricao;
}

public List<Produto> getProdutos() {
	return produtos;
}

public void setProdutos(List<Produto> produtos) {
	this.produtos = produtos;
}

}

@Controller
public class ProdutosController {

@Autowired
private ProdutoDAO produtoDao;


@RequestMapping("produtos/form")
public ModelAndView form(){
	ModelAndView modelAndView = new ModelAndView("produtos/form");
	return modelAndView;
}

@RequestMapping("/produtos")
public String gravar(Produto produto){
	produtoDao.gravar(produto);
	return "ok";
}

}

<%@ page language=“java” contentType="text/html; charset=UTF-8"
pageEncoding=“UTF-8”%>
<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>

Insert title here
<form action="/mundoacessorios/produtos" method="POST">
	<div>
		<label>Nome</label> <input type="text" name="nome">
	</div>
	<div>
		<label>Descricao</label>
		<textarea rows="10" cols="20" name="descricao"></textarea>
	</div>
	<div>
		<label>Preco</label> <input type="text" name="preco">
	</div>
	<label>Categoria</label>
	<select name="categoria" id="categoria">
		<c:forEach var="categoria" items="${categoria}">
			<option value="${categoria.id}">${categoria.nome}</option>
		</c:forEach>
		</select>
		<button type="submit">Cadastrar</button>
</form>