Для запуска приложения я использую пакет Tomcat 8.5.50 на войне. я использую версию весны 5.2. во всех операциях я использую JpaRepository.
моя форма редактирования выглядит следующим образом:
Я хочу использовать редактирование своих записей в таблице, но я просто должны добавить новую запись в мою таблицу.
это мой 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);
};
}
Как правильно отредактировать запись в моей таблице?