Ir para conteúdo
Fórum Script Brasil
  • 0

Select no banco de dados com thymeleaf


Borges7

Pergunta

Estou com problema e gostaria da ajuda de vocês para solucionar. É o seguinte tenho uma classe model em JAVA com um alguns atributos e dentre eles um que se relaciona com outra classe model, preciso que seja realizada um select no banco para retornar os dados da segunda tabela, isso com o thymeleaf . já esta pronto o controller e as demais classes necessária mas eu recebe o seguinte erro ao iniciar o projeto: java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name ‘aluno’ available as request attribute segue abaixo as classes para averiguação de vocês.
Obrigado.

Caso alguém tenha algum exemplo pronto para estudar eu agradeço.

 


    package com.sigesig.model;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name = "addAlunoEB")
public class AddAlunoEB implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private long id;
	
	@ManyToOne
	private Membros aluno;
	
	
	@ManyToOne
	private EscolaBiblica escolaBiblica;
	
	private String dtNascAluno;

	public String getDtNascAluno() {
		return dtNascAluno;
	}

	public void setDtNascAluno(String dtNascAluno) {
		this.dtNascAluno = dtNascAluno;
	}

	public long getId() {
		return id;
	}

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

	public Membros getAluno() {
		return aluno;
	}

	public void setAluno(Membros aluno) {
		this.aluno = aluno;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public EscolaBiblica getEscolaBiblica() {
		return escolaBiblica;
	}

	public void setEscolaBiblica(EscolaBiblica escolaBiblica) {
		this.escolaBiblica = escolaBiblica;
	}
	
	

}


package com.sigesig.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import com.sigesig.model.AddAlunoEB;
import com.sigesig.model.EscolaBiblica;

import com.sigesig.repository.AddAlunoEBRepository;
import com.sigesig.repository.EscolaBiblicaRepository;
import com.sigesig.repository.MembrosRepository;


@Controller
public class EscolaBiblicaController {
	
	@Autowired
	private EscolaBiblicaRepository ebr;
	@Autowired
	private AddAlunoEBRepository aar;
	@Autowired
	private MembrosRepository mr;

	@RequestMapping(value= "/cadastrarEscolaBiblica", method= RequestMethod.GET)
	public String form(){
		return "escolabiblica/formEscolaBiblica";
	}
	
	@RequestMapping(value= "/cadastrarEscolaBiblica", method= RequestMethod.POST)
	public String form(EscolaBiblica escolaBiblica){
		
		ebr.save(escolaBiblica);
		
		return "redirect:/cadastrarEscolaBiblica";
	}
	
	@RequestMapping("/escolasBiblicas")
	public ModelAndView listaEscolasBiblicas(){
		ModelAndView mv =new ModelAndView("index");
		Iterable<EscolaBiblica> escolasBiblicas = ebr.findAll();
		mv.addObject("escolasBiblicas", escolasBiblicas);
		return mv;
	}
	

	/*
	@RequestMapping(value="/{id}", method=RequestMethod.GET)
	public ModelAndView membro(AddAlunoEB alunoEB){
		ModelAndView mv =new ModelAndView("escolabiblica/detalhesEscolaBiblica");
		mv.addObject(alunoEB);
		mv.addObject("alunos", mr.findAll());
		return mv; 
	}
	*/
	
	@RequestMapping(value="/{id}", method=RequestMethod.GET)
	public ModelAndView detalhesEscolaBiblica(@PathVariable("id") long id,AddAlunoEB alunoEB){
		EscolaBiblica escolaBiblica = ebr.findById(id);
		ModelAndView mv =new ModelAndView("escolabiblica/detalhesEscolaBiblica");
		mv.addObject(alunoEB);
		mv.addObject("alunos", mr.findAll());
		mv.addObject("escolaBiblica",escolaBiblica);
		return mv; 
	}
	
	
	@RequestMapping(value="/{id}", method=RequestMethod.POST)
	public String detalhesEscolaBiblicaPost(@PathVariable("id") long id, AddAlunoEB alunoEB){
		EscolaBiblica escolaBiblica = ebr.findById(id);
		alunoEB.setEscolaBiblica(escolaBiblica);
		aar.save(alunoEB);
		return "redirect:/{id}"; 

	}
}
<!DOCTYPE html>
<html xmlns:th="http://thymeleaf.org"
	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
<head>
<title>SIGESIG</title>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
	rel="stylesheet" />
<!--Import materialize.css-->
<link type="text/css" rel="stylesheet"
	href="materialize/css/materialize.min.css" media="screen,projection" />

<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta charset="UTF-8" />
</head>
<body>
	<h1>Adicionar Alunos</h1>
	<h3>
		<a href="/escolasBiblicas" class="waves-effect waves-light btn"><i
			class="material-icons left">add_circle_outline</i>Listar Escola
			Bíblica</a>
	</h3>
	<div th:each="escolaBiblica : ${escolaBiblica}" class="container">
	<div class="row">
	<p>Turma: <span th:text="${escolaBiblica.turma}"></span></p>
	<p>Professor: <span th:text="${escolaBiblica.professor}"></span></p>
	<p>Status: <span th:text="${escolaBiblica.status}"></span></p>
	<p>Templo: <span th:text="${escolaBiblica.templo}"></span></p>
	
	</div>
	<form method="post">
	
	Nome: <input type="text" value="" name=""/>
	Data Nascimento: <input type="text" value="" name="dtNascAluno"/>
	
	 <select name="aluno" th:field="*{aluno}">
        <option th:each="aluno: ${alunos}"
               th:value="${aluno.id}" th:text="${aluno.id}"></option>
   
    </select>
    
	<button class="waves-effect waves-light btn" type="submit" >Adicionar</button>
	
	</form>
	
	</div>
	
	<!--Import jQuery before materialize.js-->
	<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
	<script type="text/javascript" src="materialize/js/materialize.min.js"></script>
</body>
</html>

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...