从 Thymeleaf 下拉列表中获取选定的值

Posted

技术标签:

【中文标题】从 Thymeleaf 下拉列表中获取选定的值【英文标题】:Get selected value from a Thymeleaf drop down list 【发布时间】:2021-06-05 03:43:02 【问题描述】:

我有一个下拉列表,客户端必须选择一个值,然后它将保留在 mysql db 好的,我这样做了,但是我想当客户选择一个值时,我得到该值并执行 if 语句 例子:

如果选择的值为:CIN 然后 compte.setcomptenumber(25364138); 像这样

这是我的控制器:

@RequestMapping(value="/addClient")
public String addClient (Model model) 
    Client client= new Client();
    Compte compte = new Compte();
    Agence agence = new Agence();
    //Carte carte = new Carte();
    model.addAttribute("client",client);
    List<String> typepieceList = Arrays.asList("CIN","Passeport");
    




    return "client";

 

我的html

<div class="p-col-12">
<label class="p1">Choisir Type de la pièce d'identité
</label> <br> <select th:field="*typepieceClient"
                                    class="form-control" required="required">
                                    <option value=""></option>
                                    <option th:each="p: $typepieceList" th:value="$p"
                                        th:text="$p" class="p1"></option>
                                </select>
                            </div>

【问题讨论】:

【参考方案1】:

您的休息控制器应该接受从表单传递的值。

您可以使用@PathVariable 注解将下拉值作为路径参数传递 或

如果您想将整个表单提交到 Rest Controller,您必须将其配置为使用 @ModelAttribute

例如:

@RequestMapping(value="/addClient")
public String addClient(@ModelAttribute Model model) 

【讨论】:

很抱歉,留下评论搞砸了格式,我刚刚发布了一个答案,希望对您有所帮助。【参考方案2】:

您在这里所做的是,您定义了一个端点 /addClient,当您从浏览器调用此端点时:

    您正在创建一个名为 Client [ model.addAttribute("client",client);] 的模型 使用此模型调用 html 文件并返回浏览器。

这只是解决方案的一半。为了能够接受下拉列表中的值,您需要另一个可以提交此表单的端点。

    对于这个新端点,您需要使用以下声明从 html 中接受模型 @RequestMapping(value="/addClient") public String addClient(@ModelAttribute 模型模型)

    然后从 html 中,你应该可以使用一个表单标签并将表单提交到这个端点。

我建议请查看这篇文章 https://spring.io/guides/gs/handling-form-submission/

【讨论】:

以上是关于从 Thymeleaf 下拉列表中获取选定的值的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 从HTML下拉列表中获取选定的值

我如何从 mvc 的剑道 ui 网格的下拉列表中获取选定的值

从下拉列表中获取选定的文本(选择框)

如何从下拉列表列表中找到选定的下拉列表?

获取隐藏下拉列表禁用选定选项的值

如何使用angularJS从自定义下拉列表中获取选定的值