Thymeleaf:通过url中的get form操作传递参数

穆罕默德·凯里尔(Mohamed Khelil)

我的控制器中有一个参数,我想以获取表格的形式将其取回URL

我想按代理商在列表中搜索对象,但问题是百里香给了我一个伪造的URL,这是示例

在这里,我将用关键字agency搜索

<form th:action="@{lien(key=${key})}" method="get"> 
<input type="text" name="agence" th:value="${agence}" class="form-control"
                     placeholder=" Agence client..." />

这是clientController:

@RequestMapping(value = "/lien")
public String droitUtilisateur(Model model,
        @RequestParam(name = "key", defaultValue = "0") int key, 
        @RequestParam(name = "page", defaultValue = "0") int p,
        @RequestParam(name = "size", defaultValue = "5") int s,
        @RequestParam(name = "agence", defaultValue = "") String agence) {
    String result = "";
    switch(key) {
    case 24421:
        Page<Client> pageClients = clientRepository.chercherParNom("%" + agence + "%", new PageRequest(p, s));
        model.addAttribute("listClient",pageClients.getContent()) ;
        int[] pages = new int[pageClients.getTotalPages()];
        model.addAttribute("pages", pages);
        model.addAttribute("pageCourante", p);
        model.addAttribute("size", s);
        model.addAttribute("key", key);
        model.addAttribute("agence", agence);
        result= key+"";
        break;

    }


    return result;
}

返回此链接:

http://localhost:6262/lien?agence=100

这个错误

模板名称不能为null或为空

但应该是这样

http://localhost:6262/lien?key=24421&agence=100
银河战士

您不能将url中的参数与表单字段中的参数混合使用。您应该为添加一个隐藏的输入key

<form th:action="@{lien}" method="get"> 
    <input type="hidden" name="key" th:value="${key}" />
    <input type="text" name="agence" th:value="${agence}" class="form-control" placeholder=" Agence client..." />

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章