Reputation: 45
I'm trying to insert entity in DB but .save()
, edit, etc... not working. It doesn't show any error. Also, this works if I insert it with CommandLineRunner
but this way not. Am I forgetting something?
@Entity
@Table(name = "categories")
public class Categories {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_category")
private int id_category;
@Column(name = "category_name")
private String category_name;
public Categories() {
}
...
@Repository("categoriesRepository")
public interface CategoriesRepository extends JpaRepository<Categories, Integer> {
}
@Service
@Transactional
public class CategoriesService{
public List<Categories> findAll() {
return categoriesRepository.findAll();
}
public void saveCat(Categories categories) {
this.categoriesRepository.save(categories);
}
...
@Controller
@RequestMapping("admin")
public class AdminController {
@Autowired
private CategoriesService categoriesService;
@RequestMapping(value = "saveCategory", method = RequestMethod.POST)
public String saveCategories(@ModelAttribute("categories") Categories theCategories) {
categoriesService.saveCat(theCategories);
return "redirect:/admin/allCategories";
}
@RequestMapping("/editCategories/{id_category}")
public ModelAndView showEditCategoriesForm(@PathVariable(name = "id_category") int id_category) {
ModelAndView mav = new ModelAndView("admin/admin_editCategories");
Categories theCategories = categoriesService.getView(id_category);
mav.addObject("categories", theCategories);
return mav;
}
@RequestMapping("/deleteCategories/{id_category}")
public String deleteCategories(@PathVariable(name = "id_category") int id_category) {
categoriesService.delete(id_category);
return "redirect:/admin/allCategories";
}
<form action="#" th:action="@{/saveCategory}" th:object="${categories}"
method="post">
<table border="1" cellpadding="10">
<tr>
<td>category</td>
<td><input type="text" placeholder="enter category" th:field="*{category_name}"/></td>
</tr>
<tr>
<td colspan="2"><button type="submit">SAVE</button> </td>
</tr>
</table>
</form>
Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback.
Sun Oct 20 02:28:01 CEST 2019 There was an unexpected error (type=Not Found, status=404). No message available
Upvotes: 0
Views: 53
Reputation: 13777
Change
@Controller
@RequestMapping("admin")
public class AdminController
@RequestMapping(value = "saveCategory", method = RequestMethod.POST)
public String saveCategories(@ModelAttribute("categories") Categories theCategories) {
categoriesService.saveCat(theCategories);
return "redirect:/admin/allCategories";
}
<form action="#" th:action="@{/saveCategory}" th:object="${categories}"
method="post">
To
@Controller
@RequestMapping("/admin")
public class AdminController
@RequestMapping(value = "/saveCategory", method = RequestMethod.POST)
public String saveCategories(@ModelAttribute("categories") Categories theCategories) {
categoriesService.saveCat(theCategories);
return "redirect:/admin/allCategories";
}
<form action="#" th:action="@{/admin/saveCategory}" th:object="${categories}"
method="post">
Upvotes: 1