Finalizei essa aula ontem, porém hoje que fui rodar o projeto na parte de mostrar os dados ele me retorna alguns erros:
os principais logs são: An error happened during template parsing (template: "class path resource [templates/trabalhador/formulario.html]") org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/trabalhador/formulario.html]")
Caused by: org.attoparser.ParseException: Exception evaluating SpringEL expression: "trabalhador.matricula" (template: "trabalhador/formulario" - line 23, col 52)
Caused by: org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "trabalhador.matricula" (template: "trabalhador/formulario" - line 23, col 52)
Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1007E: Property or field 'matricula' cannot be found on null
Trabalhador.java :
package com.app.mina.domain.trabalhador;
import jakarta.persistence.*;
@Entity
@Table(name = "trabalhador")
public class Trabalhador {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String matricula;
private String nome;
private String empresa;
private String rfid;
private String tipo;
private String habilitar;
public Trabalhador() {
// Construtor padrão sem argumentos
}
public Trabalhador(DadosCadastroTrabalhador dados) {
this.id = dados.id();
this.matricula = dados.matricula();
this.nome = dados.nome();
this.empresa = dados.empresa();
this.rfid = dados.rfid();
this.tipo = dados.tipo();
this.habilitar = dados.habilitar();
}
@Override
public String toString() {
return "Trabalhador{" +
"matricula='" + matricula + '\'' +
", nome='" + nome + '\'' +
", empresa='" + empresa + '\'' +
", rfid='" + rfid + '\'' +
", tipo='" + tipo + '\'' +
", habilitar='" + habilitar + '\'' +
'}';
}
public Long getId() {
return id;
}
public String getMatricula() {
return matricula;
}
public String getNome() {
return nome;
}
public String getEmpresa() {
return empresa;
}
public String getRfid() {
return rfid;
}
public String getTipo() {
return tipo;
}
public String getHabilitar() {
return habilitar;
}
}
trabalhadorController.java
package com.app.mina.domain.trabalhador;
import jakarta.persistence.*;
@Entity
@Table(name = "trabalhador")
public class Trabalhador {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String matricula;
private String nome;
private String empresa;
private String rfid;
private String tipo;
private String habilitar;
public Trabalhador() {
// Construtor padrão sem argumentos
}
public Trabalhador(DadosCadastroTrabalhador dados) {
this.id = dados.id();
this.matricula = dados.matricula();
this.nome = dados.nome();
this.empresa = dados.empresa();
this.rfid = dados.rfid();
this.tipo = dados.tipo();
this.habilitar = dados.habilitar();
}
@Override
public String toString() {
return "Trabalhador{" +
"matricula='" + matricula + '\'' +
", nome='" + nome + '\'' +
", empresa='" + empresa + '\'' +
", rfid='" + rfid + '\'' +
", tipo='" + tipo + '\'' +
", habilitar='" + habilitar + '\'' +
'}';
}
public Long getId() {
return id;
}
public String getMatricula() {
return matricula;
}
public String getNome() {
return nome;
}
public String getEmpresa() {
return empresa;
}
public String getRfid() {
return rfid;
}
public String getTipo() {
return tipo;
}
public String getHabilitar() {
return habilitar;
}
}