Bom dia, Jonilson. Grato pela Atenção.
Segue abaixo o código.
Model Produto.
@Entity
public class Produto {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@ManyToOne
private TipoCategoria categoria;
private String descricao;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public TipoCategoria getTipoCategoria() {
return categoria;
}
public void setTipoCategoria(TipoCategoria categoria) {
this.categoria = categoria;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
}
Model TipoCategoria
@Entity
public class TipoCategoria {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String descricao;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
}
Controller
@RequestMapping("/formVenda")
public ModelAndView form() {
List<Produto> produto = produtoDao.listar();
ModelAndView modelAndView = new ModelAndView("venda/formVenda");
modelAndView.addObject("produto", produto);
return modelAndView;
}
Código do método listar.
@Repository
@Transactional
public class ProdutoDAO {
@PersistenceContext
private EntityManager manager;
public List<Produto> listar() {
// TODO Auto-generated method stub
return manager.createQuery("Select p From Produto p"
+ " join fetch p.tipoCategoria tipoCategoria", Produto.class).getResultList();
}
}
O meu JSP
<body>
<form:form action="${s:mvcUrl('VC#gravar').build() }" method="post" commandName="venda">
<div class="form-group col-md-4">
<label>Produto</label>
<select name = "produto.id" class="form-control">
<c:forEach items="${produto}" var="produto">
<div>
<option value="${produto.id}">${produto.descricao}</option>
</div>
</c:forEach>
</select>
</div>
<div class="form-group col-md-4">
<label>Tipo Categoria</label>
<input type="text" name="produto.tipoCategoria.descricao" class="form-control" readonly="readonly">
</div>
<div class="form-group col-md-2">
<button type="submit" class="btn btn-primary">Cadastrar</button>
</div>
</form:form>
</body>
Qual seria minha duvida. Quando eu selecionar a combobox de produto, preencher automaticamente o campo TipoCategoria.
Veja se ficou mais claro a minha dúvida, se não estiver me fala que eu mudo a postagem.