Boa noite, gostaria que pudessem me tirar uma dúvida, sobre o funcionamento do <form:input
Gostaria de saber se tem como acessar por exemplo
<form:input path="fornecedor.produtos.nome" />
Sendo que;
Classe Entrada --------
package br.com.model;
import java.util.Calendar;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import org.springframework.format.annotation.DateTimeFormat;
@Entity
public class EntradaProdutosAvariados {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
@DateTimeFormat
private Calendar dataVencimento;
private int quant;
private String fornecedorEntrado;
@ManyToOne
public Fornecedor fornecedor; // public, para não precisar fazer o set por aqui e sim pela própria classe que está como atributo.
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Calendar getDataVencimento() {
return dataVencimento;
}
public void setDataVencimento(Calendar dataVencimento) {
this.dataVencimento = dataVencimento;
}
public int getQuant() {
return quant;
}
public void setQuant(int quant) {
this.quant = quant;
}
public String getFornecedorEntrado() {
return fornecedorEntrado;
}
public void setFornecedorEntrado(String fornecedorEntrado) {
this.fornecedorEntrado = fornecedorEntrado;
}
public Fornecedor getFornecedor() {
return fornecedor;
}
public void setFornecedor(Fornecedor fornecedor) {
this.fornecedor = fornecedor;
}
}
Classe Fornecedor --------
package br.com.model;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
@Entity
public class Fornecedor {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
private String nome;
@OneToMany(mappedBy="fornecedor")
private List<EntradaProdutosAvariados> entrada;
@ManyToMany
private List<Produto> produtos;
public List<Produto> getProdutos() {
return produtos;
}
public void setProdutos(Produto produto) {
this.produtos.add(produto);
}
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;
}
}
Classe Produto ----------
package br.com.model;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
@Entity
public class Produto {
@Id
private String codBarra;
private String nome;
private int quantTotal;
// mappedBy = Indica que o outro lado da relação que irá criar uma tabela de relacionamento (e alem disso caso faça alguma alteração na dona do relacionamento irá vim aqui também ou é o CASCADE)
public String getCodBarra() {
return codBarra;
}
public void setCodBarra(String codBarra) {
this.codBarra = codBarra;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getQuantTotal() {
return quantTotal;
}
public void setQuantTotal(int quantTotal) {
this.quantTotal = quantTotal;
}
}
Classe EntradaController
package br.com.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import br.com.dao.EntradaAvariadosDAO;
import br.com.model.EntradaProdutosAvariados;
@Controller
@RequestMapping("/entradaAvariados")
public class EntradaAvariadosController {
@Autowired
private EntradaAvariadosDAO entradaAvariadosDao;
@RequestMapping(method=RequestMethod.GET)
public String indexAvariados(EntradaProdutosAvariados entradaProdutosAvariados){
return "entradas/entrada_avariados";
}
// MÉTODOS
@RequestMapping(value="add",method=RequestMethod.POST)
public ModelAndView adicionaAvariados(EntradaProdutosAvariados entradaProdutosAvariados, RedirectAttributes attributes){
entradaAvariadosDao.grava(entradaProdutosAvariados);
ModelAndView mv = new ModelAndView("redirect:/entradaAvariados");
attributes.addFlashAttribute("sucesso", "Fornecedor adicionado com sucesso");
return mv;
}
}
Ou sendo, gostaria que esse input percorresse esse caminho para fazer a injeção no produto da classe Fornecedor que está dentro da classe Entrada, teria como?