Spring Boot и Thymeleaf: список ссылок - PullRequest
0 голосов
/ 06 августа 2020

Веб-приложение Java / Spring Boot здесь с использованием Thymeleaf в качестве механизма создания шаблонов.

My bean:

public class InventoryItem {

  private String modelNumber;
  private String name;

  // getters, setters and ctors omitted for brevity
  
}

My Spring controller:

@Controller
@RequestMapping("/inventory")
public class InventoryController {

  @GetMapping("/{inventoryId}")
  public String viewInventory(@PathVariable("inventoryId") String inventoryId, Model model) {

      List<InventoryItem> inventory = getSomehow(inventoryId);
      model.addAttribute("inventory", inventory);

      return "inventory";

  }
  
}

И фрагмент из файла inventory.html, который Thymeleaf должен использовать в шаблоне:

<div class="col-md-4 mt-5">
    <div class="panel-body">Inventory Items</div>
    <ul>
        <li th:each="item :${inventory}" th:text="${item.name}"></li>
    </ul>
</div>

Во время выполнения это создает красивый неупорядоченный список имен предметов инвентаря.

Сейчас я хочу сделать это неупорядоченным список гиперссылок (<a/>) таких, что отображаемый HTML выглядит так:

<ul>
  <li><a href="/inventoryDetails/12345">Goose</a></li>
  <li><a href="/inventoryDetails/23456">Duck</a></li>
  <!-- etc. -->
</ul>

Где 12345 и 23456 - это InventoryItem#modelNumbers, а где Goose и Duck - InventoryItem#names. Я просил богов Google повсюду и не могу найти рабочего примера использования Thymeleaf для отображения списка (упорядоченного / неупорядоченного) гиперссылок. Есть идеи?

1 Ответ

1 голос
/ 06 августа 2020

Примерно так будет работать ...

<div class="col-md-4 mt-5">
    <div class="panel-body">Inventory Items</div>
    <ul>
        <li th:each="item :${inventory}">
            <a th:href="@{/inventoryDetails/{modelNumber}(modelNumber=${item.modelNumber})}" th:text="${item.name}">Goose</a>
        </li>
    </ul>
</div>

Если вы хотите получить дополнительную информацию о том, как работать с URL-адресами ссылок , следуйте документации Thymeleaf.

...