Форма не отправляется или объект не создается - не могу понять это - PullRequest
0 голосов
/ 08 ноября 2018

Я работаю над приложением 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); не вызывается. Я просто не могу понять, почему это не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...