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执行相同操作。