在thymeleaf + spring boot编码表单参数

时间:2018-04-22 23:27:05

标签: spring spring-boot spring-security thymeleaf

我正在使用弹簧靴和百里香用于项目,我在网址中发送一些参数,例如“Historique / stock?devise = EUR”
我想知道是否有一个全局配置来编码url和我的控制器中的参数来解码它

谢谢你:)

更新:

<tbody>
                    <tr th:each="agence : ${listeAgences}">
                        <td><input th:type="checkbox" th:name="selected"
                            th:value="${agence?.id}" /></td>
                        <td><a class="btn-outline-primary"
                            th:href="@{'/admin/Agence/visualisationAgence?id='+${agence.id}}"><th:block
                                    th:text="${agence?.nom}" /></a></td>
                    </tr>
                </tbody>

这是我的控制器

    @RequestMapping(value = "/visualisationAgence", method = RequestMethod.GET)
public ModelAndView visualisationAgence(ModelAndView modelAndView, String id) {
    AgenceDTO agence = agenceService.findAgenceById(Integer.parseInt(id));

正如你可以看到我传递的id没有编码,我不知道是否有一个全局方法如何编码然后读取它,所以用户无法在url中看到id

1 个答案:

答案 0 :(得分:1)

在Thymeleaf中指定URL参数,如下所示:

<a th:href="@{/admin/Agence/visualisationAgence(id=${agence.id})">

有关详细信息,请参阅Standard URL Syntax

然后&#34;解码&#34;在带有@RequestParam注释的控制器中:

public ModelAndView visualisationAgence(@RequestParam("id") String id, ...)