обновление метода в контроллере не работает - PullRequest
0 голосов
/ 21 марта 2020

Для запуска приложения я использую пакет Tomcat 8.5.50 на войне. я использую версию весны 5.2. во всех операциях я использую JpaRepository.

моя форма редактирования выглядит следующим образом:

enter image description here

Я хочу использовать редактирование своих записей в таблице, но я просто должны добавить новую запись в мою таблицу.

это мой jsp:

<div class="container">
    <h2><a href="${pageContext.request.contextPath}/list">Home</a></h2>

    <div id="row">
        <%--@elvariable id="mealsUpdate" type=""--%>
        <form:form action="${pageContext.request.contextPath}/update"
                   modelAttribute="mealsUpdate" method="post">
            <div class="col-md-9">
                <input type="hidden"/>
                <div class="form-group">
                    <div class="col-md-12">
                        <label for="datetime" type="table" class="table">DateTime</label>
                        <input id="datetime" type="datetime-local" name="datetime"/>
                    </div>
                </div>

                <div class="form-group">
                    <div class="col-md-12">
                        <label for="description" type="table" class="table">Description</label>
                        <input id="description" type="text" name="description"/>
                    </div>
                </div>

                <div class="form-group">
                    <div class="col-md-12">
                        <label for="calories" type="table" class="table">Calories</label>
                        <input id="calories" type="number" name="calories"/>
                    </div>
                </div>

                <button type="submit" class="btn btn-default" name="saveMeals">Save</button>
                <button type="button" class="btn btn-default" name="cancelMeals" onclick="window.history.back()">Cancel</button>

            </div>

        </form:form>
    </div>

</div>

мой контроллер:

@Controller
public class JspMealController {
    @Autowired
    MealService mealService;

    @GetMapping(value = "/list")
    public String getAll(Model model) {
        model.addAttribute("meals", mealService.getAll());

        return "meals";
    }

    @GetMapping(value = "/updateForm")
    public String updateForm(@RequestParam("mealId") int id, Model model) {
        Meal meal = mealService.get(id);
        model.addAttribute("mealsUpdate", meal);

        return "updatemealForm";
    }

    @PostMapping(value = "/update")
    public String update(@ModelAttribute("mealsUpdate") Meal meal) {
        mealService.update(meal);

        return "redirect:/list";
    }
}

это мой класс обслуживания:

@Service
public class MealServiceImpl implements MealService {
    @Autowired
    DataJpaMealRepository dataJpaMealRepository;

    @Override
    public void update(Meal meal) {
        dataJpaMealRepository.update(meal);
    }
}

Класс DataJpaRepository:

@Repository
public class DataJpaMealRepository {

    @Autowired
    private ProxyRepository proxyRepository;

    public Meal update(Meal meal) {
        return proxyRepository.save(meal);
    };
}

Как правильно отредактировать запись в моей таблице?

...