Java 如何在Thymeleaf+;当我有一个依赖于另一个的类时,Spring Boot?

Java 如何在Thymeleaf+;当我有一个依赖于另一个的类时,Spring Boot?,java,html,spring-boot,spring-mvc,thymeleaf,Java,Html,Spring Boot,Spring Mvc,Thymeleaf,我有以下课程: @Entity public class Aluno { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "ra") private int ra; @NotNull(message = "Nome não pode ser nulo!") @NotEmpty(message = "Nome não pode ser vazio!")

我有以下课程:

@Entity
public class Aluno {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "ra")
    private int ra;

    @NotNull(message = "Nome não pode ser nulo!")
    @NotEmpty(message = "Nome não pode ser vazio!")
    @Column(name = "nome")
    private String nome;

    public int getRa() {
        return ra;
    }

    public void setRa(int ra) {
        this.ra = ra;
    }

    public String getNome() {
        return nome;
    }

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

}

@Entity
public class Disciplina {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "codigo")
    private int codigo;

    @NotNull(message = "Nome não pode ser nulo!")
    @NotEmpty(message = "Nome não pode ser vazio!")
    @Column(name = "nome")
    private String nome;

    @NotNull(message = "Sigla não pode ser nula!")
    @NotEmpty(message = "Sigla não pode ser vazia!")
    @Column(name = "sigla")
    private String sigla;

    @NotNull(message = "Turno não pode ser nulo!")
    @NotEmpty(message = "Turno não pode ser vazio!")
    @Column(name = "turno")
    private String turno;

    @NotNull(message = "Número não pode ser nulo!")
    @Column(name = "num_aulas")
    private int numeroAulas;

    public int getCodigo() {
        return codigo;
    }

    public void setCodigo(int codigo) {
        this.codigo = codigo;
    }

    public String getNome() {
        return nome;
    }

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

    public String getSigla() {
        return sigla;
    }

    public void setSigla(String sigla) {
        this.sigla = sigla;
    }

    public String getTurno() {
        return turno;
    }

    public void setTurno(String turno) {
        this.turno = turno;
    }

    public int getNumeroAulas() {
        return numeroAulas;
    }

    public void setNumeroAulas(int numeroAulas) {
        this.numeroAulas = numeroAulas;
    }

}

@Entity
public class Faltas {

    @EmbeddedId
    private FaltasPK pk;

    @ManyToOne
    @MapsId("ra")
    @JoinColumn
    private Aluno aluno;

    @ManyToOne
    @MapsId("codigo")
    @JoinColumn
    private Disciplina disciplina;

    @NotNull(message = "Presença não pode ser nula!")
    @NotEmpty(message = "Presença não pode ser vazia!")
    @Column(name = "presenca")
    private String presenca;

    public FaltasPK getPk() {
        return pk;
    }

    public void setPk(FaltasPK pk) {
        this.pk = pk;
    }

    public Aluno getAluno() {
        return aluno;
    }

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

    public Disciplina getDisciplina() {
        return disciplina;
    }

    public void setDisciplina(Disciplina disciplina) {
        this.disciplina = disciplina;
    }

    public String getPresenca() {
        return presenca;
    }

    public void setPresenca(String presenca) {
        this.presenca = presenca;
    }

}
我如何用Thymeleaf创建一个HTML组合框,在我的页面中加载“Aluno”和“stricta”的所有数据(这样我就可以选择一个“Aluno”和一个“stricta”来创建“Faltas”

这是我的控制器:

@RequestMapping(method = RequestMethod.GET, value = "/faltas")
    public ModelAndView inicio() {

        ModelAndView modelAndView = new ModelAndView("insercao/faltas");
        modelAndView.addObject("faltaobj", new Faltas());
        List<Faltas> listaFaltas = faltasRepository.findAll();
        modelAndView.addObject("listaFaltas", listaFaltas);
        return modelAndView;

    }
@RequestMapping(method=RequestMethod.GET,value=“/faltas”)
公共模型和视图inicio(){
ModelAndView ModelAndView=新的ModelAndView(“Inserco/faltas”);
addObject(“faltaobj”,新的Faltas());
List listaFaltas=faltasRepository.findAll();
addObject(“ListaAltas”,ListaAltas);
返回模型和视图;
}
我试着用以下代码使用Thymeleaf编写HTML:

<div class="row">
                    <label for="aluno" class="active">Aluno</label> 
                        <select th:field="*{aluno}">
                           <option value="">Selecione um aluno</option>
                           <option th:each="aluno : ${listaAlunos}" th:value="${aluno.ra}" th:text="${aluno.nome}" />
                        </select>
            </div>
            <div class="row">
                    <label for="disciplina" class="active">Disciplina</label> 
                        <select th:field="*{disciplina}">
                            <option value="">Selecione uma disciplina</option>
                            <option th:each="disciplina : ${listaDisciplinas}" th:value="${disciplina.codigo}" th:text="${disciplina.nome}" />
                        </select>
            </div>

            <div class="row">
                    <label for="data" class="active">Data</label> 
                    <input name="data" class="validate" th:field="*{pk.data}" id="data">
            </div>


            <div class="row">
                    <label for="presenca" class="active">Presença</label> 
                    <input name="presenca" class="validate" th:field="*{presenca}" id="presenca">
            </div>

阿鲁诺
白矾
纪律
纪律性紫荆
资料
普雷森萨

文本输入显示出来了,但这两个组合框没有显示出来,因为“Aluno”和“Districta”不是“Faltas”的简单属性,不同于“data”和“presenca”属性,例如。

希望这有助于尝试将ListaAlanOS和listaDisciplinas设置为控制器中的独立对象。例如,对于listaDisciplinas,添加:modelAndView.addObject(“listaDisciplinas”,listaDisciplinas)并对listaAlunos执行相同操作。希望这有助于尝试将listaAlunos和listaDisciplinas设置为控制器中的独立对象。例如,对于listaDisciplinas,添加:modelAndView.addObject(“listaDisciplinas”,listaDisciplinas),并对listaAlunos执行相同操作。