Dia, meu projeto esta indo, mas me deparei com o seguinte problema, consigo carregar em um modal a qual dentro dele tem um table, uma tabela do banco até ai ok, essa tabela esta carregada num pagina de lotes, e a tabela que carrego no modal é a de produtores, até ai ok, agora quando eu seleciono um produtor para o relacionamento da tabela de lote>produtor, da pau…
java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name ‘produtor’ available as request attribute
só que tenho outro projeto com pouca diferença e essa parte esta funcionando… eu até agora não entendi o que pode estar havendo…
a tela do lote
Plataforma Coffee Express<div class="collapse navbar-collapse" id="collapse_target">
<ul class="navbar-nav">
<li class="nav-item">
<a class="navbar-brand" href="/">Home</a>
</li>
<li class="nav-item dropdown">
<a class="navbar-brand dropdown-toggle" data-toggle="dropdown" data-target="dropdown_target" href="">
Produtor
</a>
<div class="dropdown-menu" aria-labelledby="dropdown-target">
<a class="dropdown-item" href="/produtor">Todos os Produtores</a>
<a class="dropdown-item" href="/cadProdutor">Cadastro de Produtor</a>
</div>
</li>
<li class="nav-item">
<a class="navbar-brand dropdown-toggle" data-toggle="dropdown" data-target="dropdown_target" href="">
Cliente
</a>
<div class="dropdown-menu" aria-labelledby="dropdown-target">
<a class="dropdown-item" href="/clientes">Todos os Clientes</a>
<a class="dropdown-item" href="/cadCliente">Cadastro de Cliente</a>
</div>
</li>
<li class="nav-item">
<a class="navbar-brand dropdown-toggle" data-toggle="dropdown" data-target="dropdown_target" href="">
Lote
</a>
<div class="dropdown-menu" aria-labelledby="dropdown-target">
<a class="dropdown-item" href="/lotes">Todos os Lotes</a>
<a class="dropdown-item" href="/cadLote">Cadastro de Lote</a>
</div>
</li>
<li class="nav-item">
<a class="navbar-brand dropdown-toggle" data-toggle="dropdown" data-target="dropdown_target" href="">
Liga
</a>
<div class="dropdown-menu" aria-labelledby="dropdown-target">
<a class="dropdown-item" href="/liga">Liga</a>
<a class="dropdown-item" href="">Alteração de Liga</a>
</div>
</li>
<li class="nav-item">
<a class="navbar-brand" href="#">Sair</a>
</li>
</ul>
</div>
<div class="row">
<div class="form-group col-sm-6">
<label>Fragrância</label>
<input type="text" class="form-control" name="fragranciaEscrita" th:field="*{fragranciaEscrita}"/>
</div>
<div class="form-group col-sm-6">
<label>Sabor</label>
<input type="text" class="form-control" name="saborEscrita" th:field="*{saborEscrita}"/>
</div>
<div class="form-group col-sm-6">
<label>Finalização</label>
<input type="text" class="form-control" name="finalizacaoEscrita" th:field="*{finalizacaoEscrita}"/>
</div>
<div class="form-group col-sm-6">
<label>Acidez</label>
<input type="text" class="form-control" name="acidezEscrita" th:field="*{acidezEscrita}"/>
</div>
<div class="form-group col-sm-6">
<label>Corpo</label>
<input type="text" class="form-control" name="corpoEscrita" th:field="*{corpoEscrita}"/>
</div>
<div class="form-group col-sm-6">
<label>Equilibrio</label>
<input type="text" class="form-control" name="equilibrioEscrita" th:field="*{equilibrioEscrita}"/>
</div>
</div>
<label class="h4" style="font-weight: bold;">Pontuação</label>
<div class="row">
<div class="form-group col-sm-6">
<label>Pontos Fragrância</label>
<input type="text" class="form-control" name="fragranciaPonto" th:field="*{fragranciaPonto}"/>
</div>
<div class="form-group col-sm-6">
<label>Pontos Sabor</label>
<input type="text" class="form-control" name="saborPonto" th:field="*{saborPonto}"/>
</div>
<div class="form-group col-sm-6">
<label>Pontos Finalização</label>
<input type="text" class="form-control" name="finalizacaoPonto" th:field="*{finalizacaoPonto}"/>
</div>
<div class="form-group col-sm-6">
<label>Pontos Acidez</label>
<input type="text" class="form-control" name="acidezPonto" th:field="*{acidezPonto}"/>
</div>
<div class="form-group col-sm-6">
<label>Pontos Corpo</label>
<input type="text" class="form-control" name="corpoPonto" th:field="*{corpoPonto}"/>
</div>
<div class="form-group col-sm-6">
<label>Pontos Equilibrio</label>
<input type="text" class="form-control" name="equilibrioPonto" th:field="*{equilibrioPonto}"/>
</div>
</div>
<div class="container-fluid">
<button class="btn btn-primary" style="margin-bottom: 20px; margin-top: 20px;" type="submit">Salvar</button>
<a class="btn btn-primary" style="margin-bottom: 20px; margin-top: 20px; margin-left: 10px" href="/lote">Novo</a>
</div>
</form>
</div>
<div class="container">
<form class="container">
<table class="table table-bordered">
<thead>
<tr>
<th>Lote</th>
<th>Excluir</th>
<th>QR-CODE</th>
<th>PDF</th>
</tr>
</thead>
<tbody>
<tr th:each="lote : ${lotes}" >
<td><a th:href="${(#mvc.url('LC#detalhesLote').arg(0, lote.lote)).build()}"><span th:text="${lote.lote}"></span></a></td>
<td><a th:href="${(#mvc.url('LC#deletarLote').arg(0, lote.lote)).build()}"><i class="material-icons" style="color: black">delete</i></a></td>
<td><a th:href="${(#mvc.url('LC#qrcodeGenerate').arg(0, lote.lote)).build()}"><i class="material-icons" style="color: black">blur_on</i></a></td>
<td><a><i class="material-icons" style="color: black;">picture_as_pdf</i></a></td>
</tr>
</tbody>
</table>
</form>
</div>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
o controller do lote
@Controller
public class LoteController {
@Autowired
private ProdutorService produtorService;
@Autowired
private LoteService loteService;
@GetMapping("/lotes")//metodo de abertura de tela principal
public ModelAndView findAll() {
ModelAndView mv = new ModelAndView("/plataform/lote/formLotes");
mv.addObject("lotes", loteService.findAll());
return mv;
}
@GetMapping("/lote/add")//metodo de abertura de tela de cadastro
public ModelAndView add(Lote lote) {
ModelAndView mv = new ModelAndView("/plataform/lote/formCadLote");
mv.addObject("produtores", produtorService.findAll());
return mv;
}
@GetMapping("/lote/add/{id}")//buscou o produtor
public ModelAndView detalhesProdutor(@PathVariable("id") long id) {
Produtor produtor = produtorService.findOne(id);
ModelAndView mv = new ModelAndView("/plataform/lote/formCadLote") ;
mv.addObject("produtor", produtor);
return mv;
}}
a classe de serviço do lote
@Service
public class LoteService {
@Autowired
private LoteRepository lr;
public Iterable<Lote> findAll(){
return lr.findAll();
}
public Lote findOne(String lote) {
return lr.findOne(lote);
}
public Lote save(Lote lote) {
return lr.save(lote);
}
public void delete(String lote) {
lr.delete(lote);
}
}
agora eu posso ter montado errado tambem alguem ai se habiita?