当前位置: 首页 > 知识库问答 >
问题:

链接中的PostMapping-GetMapping方法-loop存在问题。Spring靴

邹英悟
2023-03-14

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

@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。html

<form method="post" action="'/addaction/'+${plant.getId()}"
                    th:object="${actionForm}">

                    <div class="form-group">
                        <label for="exampleInputEmail1">Name of activity</label> <input
                            type="text" th:field="*{name}" class="form-control"
                            id="exampleFormControlInput1" aria-describedby="emailHelp"
                            placeholder="Name your work">
                    </div>

                    <div class="form-group">
                        <label for="exampleFormControlTextarea1">What you gonna
                            do?</label>
                        <textarea class="form-control" th:field="*{description}"
                            id="exampleFormControlTextarea1" rows="4"></textarea>
                    </div>


                    <div class="input-group mb-3">
                        <div class="input-group-prepend">
                            <label class="input-group-text" for="inputGroupSelect01">Month of activity</label>
                        </div>
                        <select class="custom-select" th:field="*{month}"
                            id="inputGroupSelect01">
                            <option value="1">January</option>
                            <option value="2">February</option>
                            <option value="3">March</option>
                            <option value="4">April</option>
                            <option value="5">May</option>
                            <option value="6">June</option>
                            <option value="7">July</option>
                            <option value="8">August</option>
                            <option value="9">September</option>
                            <option value="10">October</option>
                            <option value="11">November</option>
                            <option value="12">December</option>
                        </select>
                    </div>

                    <button type="submit" class="btn btn-dark">Action!</button>

                </form>

主要问题是:当我尝试添加操作时,结果是:

http://localhost:8080/addaction//addaction/${plant.getid()}

有某种循环。我做错了什么?谢谢你的时间!

共有1个答案

朱鹤轩
2023-03-14

您不必通过。spring表达式语言也将在没有的情况下使用

尝试删除如下所示。

action=“/addaction/${plant.getId()}”

引用thymeleaf-构造-url-与-变量

 类似资料:
  • 我有关于如何修改指针的问题,使用类类型元素的对象的前一个和下一个实例变量。双向链表由具有lastName、firstName、phoneNumber、前一个和下一个实例变量的Element对象填充。RemveElement方法接受lastName作为参数,并找到具有该确切String的元素,然后将其从列表中删除。然而,当修改应该从列表中删除元素的指针时,我遇到了一个异常。具体来说,在这段代码中:

  • 我的代码是这样的:

  • 问题内容: 在回答前面的一些问题以及最近的工作时,我一直在想为什么Java不支持其内置类中的方法链接。 例如,如果我要创建一个类,可以通过以下方法而不是void来使其 可链接: 内置库为什么不倾向于以这种方式执行操作?方法链接有不利之处吗? 我可能忽略了一些可以解释缺少方法链接的内容,但是任何默认返回void的setter方法都应该返回 对此 的引用(至少在我看来应该如此)。这样可以使以下情况更加

  • 问题内容: 在回答前面的一些问题以及最近的工作时,我一直在想为什么Java不支持其内置类中的方法链接。 例如,如果我要创建一个类,可以通过以下方法而不是void来使其 可链接: 内置库为什么不倾向于以这种方式执行操作?方法链接有不利之处吗? 我可能忽略了一些可以解释缺少方法链接的内容,但是任何默认返回void的setter方法都应该返回 对此 的引用(至少在我看来应该如此)。这样可以使以下情况更加

  • 问题内容: (不要与itertools.chain混淆) 我正在阅读以下内容:http : //en.wikipedia.org/wiki/Method_chaining 我的问题是: 在python中实现方法链接的最佳方法 是 什么? 这是我的尝试: 一个问题是调用是否修改但不返回。(那么我应该退货还是退货)。 有没有人有更好的实现链接的方法?可能有很多方法可以做到这一点。 我是否应该假设某个方

  • 本文向大家介绍PHP中的方法链接,包括了PHP中的方法链接的使用技巧和注意事项,需要的朋友参考一下 示例 方法链接是Martin Fowler的《领域特定语言》一书中介绍的一种技术。方法链接总结为 使修饰符方法返回宿主对象,以便可以在单个表达式中调用多个修饰符。 看这段非链接/常规代码(从上述书籍中移植到PHP) 通过方法链接,您可以以更紧凑的方式编写上述语句: 为此,您所需要做的就是使用要链接r