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

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

司寇光华
2023-03-14

我有一个下拉列表,客户端必须选择一个值,然后它将在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>

共有2个答案

花和宜
2023-03-14

这里要做的是定义一个endpoint/添加客户端,当您从浏览器调用此endpoint时:

  1. 您正在创建一个名为Client[Model.addAttribute(“Client”,Client);]

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

>

  • 对于这个新endpoint,您需要使用@Request estMap(value="/addClient")public String addClient(@ModelAtinn Model)等声明从html接受Model

    然后从html中,您应该能够使用表单标记并将表单提交到此endpoint。

    我建议你检查一下这篇文章https://spring.io/guides/gs/handling-form-submission/

  • 邢炯
    2023-03-14

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

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

    如果要将整个表单提交给Rest控制器,则必须将其配置为使用@ModelAttribute

    前任:

    @RequestMapping(value="/addClient")
    public String addClient(@ModelAttribute Model model) 
    
     类似资料:
    • 问题内容: 通常,我使用它来返回所选选项的值,但这一次它不起作用。所选标签的ID HTML代码 问题答案: 对于下拉选项,您可能想要这样的东西: 之所以不能解决问题,是因为单击选项不会更改下拉菜单的值,它只是将属性添加到作为下拉菜单的 子 项的所选选项中。

    • 我的问题是无法得到下拉列表选择的值,错误是: 字段“admin”上对象“agence”中的字段错误:拒绝值[1];代码[TypeMismatch.agence.admin,TypeMismatch.admin,TypeMismatch.com.example.demo.Entities.AdminStrateur,TypeMismatch];;默认消息[无法将“java.lang.String”类

    • 问题内容: 如何使用JavaScript从下拉列表中获取选定的值? 我尝试了下面的方法,但是它们都返回选择的索引而不是值: 问题答案: 如果您有一个如下所示的select元素: 运行此代码: 将成为。如果您真正想要的是,请执行以下操作: 这将成为

    • 问题内容: 如何从jQuery 的下拉列表 中获取选定的文本(而不是选定的值)? 问题答案:

    • 我已经用来自我的spring控制器(provincia)的内容填充了一个列表,并且我有另一个对象(profile2),我需要从(provincia)获取选定的值...以及我的表单国家/地区中的其他值,等等。 在我的HTML中,我有: 但是我找不到任何关于如何提取与列表中的值相对应的选定键和值(th:select)并将其放回控制器(或者将其移入具有provincia有线对象的de profile2对

    • 问题内容: 我想创建一个包含国家/地区的下拉列表,并创建一个包含城市的第二个下拉列表,这取决于第一个列表中的选定值。并且城市列表应动态更改。在视图(Thymeleaf)中,我有一个from控制器。CountryModel的名称应该显示在第二个下拉列表中,而Set应该显示在第二个(相关的)下拉列表中。 在这里,我创建第一个下拉列表: 那么如何创建第二个下拉列表,该列表取决于第一个列表中的所选国家/地