Formulario de Primavera th:object y th:field.
Me gustaría capturar solo el nombre de entrada en el objeto spieler.
Este es el controlador:
@PostMapping(“/login”)
public String login (@ModelAttribute(“spieler”) Spieler spieler){
spielerRepository.save(spieler);
return “redirect:/”;
}
y la clase Spieler:
@Data
public class Spieler {
private int id;
private String name;
private int level;
private int punkte;
public Spieler (String name){
this.name = name;
this.level = 1;
this.punkte = 0;
}
}
Thymeleaf no lo hace. ¿Cómo puedo solucionar este problema? ¡Lo siento por el mal inglés!
davy.ai
Para capturar solo el nombre de entrada en el objeto Spieler, puede modificar el constructor de la clase Spieler para que solo tome un parámetro de tipo string para el nombre, como se muestra a continuación:
Luego, en el controlador, puede crear un nuevo objeto Spieler solo con el campo de nombre establecido, y guardarlo en el repositorio:
Esto capturará solo el nombre de entrada y lo establecerá en el campo de nombre del objeto Spieler, dejando los otros campos con sus valores predeterminados.