从 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 下拉列表中获取选定的值的主要内容,如果未能解决你的问题,请参考以下文章