我有一个下拉列表,客户端必须选择一个值,然后它将在mysql数据库中持久化我这样做了,但我希望当客户端选择一个值时,我得到那个值,然后执行if语句例:
,如果选择值为:CIN然后compte.setcomptenumber (25364138);这样的
this my controller:
@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";
}
my 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>
您的rest控制器应该接受从表单传递的值。
你可以使用@PathVariable注释将下拉值作为路径参数传递或者
如果你想提交整个表单到Rest控制器,你必须配置它使用@ModelAttribute
,
@RequestMapping(value="/addClient")
public String addClient(@ModelAttribute Model model)
您在这里所做的是,您定义了一个端点/addClient并且当您从浏览器调用该端点时:
- 您正在创建一个名为Client的模型[Model . addattribute (" Client ", Client);]
- 用这个模型调用html文件并返回到浏览器。
这只是解决方案的一半。为了能够接受下拉列表中的值,您需要另一个端点来提交此表单。
-
对于这个新端点,您需要使用如下声明从html中接受一个Model@RequestMapping (value ="/addClient"public String addClient(@ModelAttribute Model)
-
然后从html中,你应该能够使用表单标签并将表单提交到这个端点。
我建议你看看这篇文章https://spring.io/guides/gs/handling-form-submission/