如何在具有从控制器获取的ID的选择值中显示?

时间:2018-04-23 08:50:17

标签: html5 spring-boot thymeleaf

我有一个由Thymeleaf控制的选择

<select th:field="*{customer}">
   <option th:each="customer: ${customers}" th:value="${customer.id}" th:text="${customer.name}"></option>
</select>

此选项显示数据库的所有客户。

如何使用我从这里获得的ID显示客户:

@GetMapping("/add")
public String addRoute(Model model) {
    model.addAttribute("route", new RouteCommand());

    /*User userAux = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    model.addAttribute("customer", userAux.getCustomer().getId());*/

    return "admin/routes/add";
}

评论的代码获取我想在select中显示的值的ID。

1 个答案:

答案 0 :(得分:1)

我不确定下面是否有效,但您可以尝试,因为我没有工作区来测试解决方案,而且我假设您使用的是Spring Security Tag并且用户已登录

<sec:authentication property="principal.customer.id" var="cId" scope="page" />

<select th:field="*{customer}">
       <option th:each="customer: ${customers.?[id == __${cId}__]}" th:value="${customer.id}" th:text="${customer.name}"></option>
    </select>