Я работаю над приложением Spring для мониторинга тренировок. Вчера у меня было идеальное создание тренировки, но после нескольких небольших изменений оно перестало работать и отображаться. Я попытался отменить изменения, и они все равно по какой-то причине не будут работать. Навигация по страницам все еще работает хорошо, я проверил свою базу данных, и она все еще активна. Я считаю, что это либо проблема с моим контроллером тренировки:
@Controller
public class WorkoutController {
@Autowired
private WorkoutService workoutService = new WorkoutService();
@RequestMapping(value = "/workout/createWorkout")
public String goToCreateWorkout(){
return "createWorkout";
}
@RequestMapping(value = "/workout/createWorkout/workoutCreated")
public String goToWorkoutCreated(){
return "workoutCreated";
}
@RequestMapping(value = "/workout/viewWorkout")
public String goToViewWorkout(){
return "viewWorkout";
}
@RequestMapping(value = "/workout/deleteWorkout")
public String goToDeleteWorkout(){
return "deleteWorkout";
}
@GetMapping("/workout/createWorkout")
public String workoutForm(Model model) {
model.addAttribute("workout", new Workout());
return "createWorkout";
}
@PostMapping("/workout/createWorkout")
public String submitWorkout(@ModelAttribute Workout workout,
HttpServletRequest request){
Account account = (Account) request.getSession().getAttribute("loggedInUser");
workout.setAccountName(account.getAccountName());
workoutService.createWorkout(workout);
return "workoutCreated";
}
@GetMapping("/workout/viewWorkout")
public String viewWorkouts(Model model){
model.addAttribute("workouts", workoutService.getWorkouts());
return "viewWorkout";
}
}
Или моя форма, которую пользователь отправляет для создания тренировки:
<form action="#" th:action="@{/workout/createWorkout/workoutCreated}" th:object="${workout}" method="post">
Workout name:<br>
<input type="text" class="formInput" name="workout-name" size="50"
th:field="*{workoutName}"><br>
<div class="divider"></div>
Description:<br>
<input type="text" class="formInput" name="workout-desc" size="50"
th:field="*{description}"><br>
<div class="divider"></div>
Date:<br>
<input type="text" class="formInput" name="workout-date" size="50"
th:field="*{workoutDate}"><br>
<br><br>
<input type="submit" class="input-box">
</form>
У меня проблемы с устранением неполадок, потому что я не получаю никаких ошибок, поэтому я не знаю, где происходит проблема. Любые предложения приветствуются. Благодарю.
edit: проблема определенно в том, что мой workoutService.createWorkout (workout); не вызывается. Я просто не могу понять, почему это не так.