猿问

PostMapping 问题 - GetMapping 方法 - 链接中的循环

我在将数据发送到我的一张表时遇到问题。下面你可以看到我的方法:一个显示带有表单的模板,第二个应该添加这个动作。


@GetMapping("/addaction/{id}")

    public String addAction(Model model, @PathVariable("id") int id ) {


        Optional<PlantEntity> plantEntity = plantService.getPlantById(id);

        if (plantEntity.isPresent()) {

            model.addAttribute("plant", plantEntity.get());

        }




        return "addaction";

    }


    @PostMapping("/addaction/{id}")

    public String addAction(@ModelAttribute ActionForm actionForm,

                           @PathVariable("id") int plantId) {


        if(!userService.isLogin()) {

            return "redirect:/";

        }

        actionService.addAction(actionForm, plantId);

        return "redirect:/plant/"+plantId;

    }

这是我在服务中的方法:


public void addAction (ActionForm actionForm, int plantId) {


        PlantEntity plantEntity = new PlantEntity();

        plantEntity.setId(plantId);


        ActionEntity act = new ActionEntity();


        act.setName(actionForm.getName());

        act.setDescription(actionForm.getDescription());

        act.setPlant(plantEntity);

        act.setUser(userService.getUserData());

        act.setMonth(actionForm.getMonth());


        actionRepository.save(act);


    }

主要问题是:当我尝试 addAction 时,结果是:

http://localhost:8080/addaction/ '/addaction/'+$%7Bplant.getId()%7D

有某种循环。我究竟做错了什么?感谢您的时间!


胡子哥哥
浏览 204回答 1
1回答

繁华开满天机

你不必通过'。spring 表达语言将带无'也。尝试删除如下。action="/addaction/${plant.getId()}"参考thymeleaf-construct-url-with-variable
随时随地看视频慕课网APP

相关分类

Java
我要回答