我需要创建一个呈现此HTML的元素,以便该图标是a
内部HTML的一部分:
<li>
<a href="/pricing/de" id="de">
<i class="fa fa-circle-o"></i>Deutschland
</a>
</li>
我目前的方法是以下
<li th:each="country : ${countryList}">
<a th:href="@{country.getKey()}" th:text="${country.getValue()}">
<i th:class="fa fa-square-o"></i>
</a>
</li>
但这当然会覆盖th:text
的图标。将图标添加到文本似乎也不起作用......
我如何在百里香中做到这一点?
答案 0 :(得分:2)
有很多方法可以解决这个问题。我可能会这样做:
<li th:each="country : ${countryList}">
<a th:href="@{country.key}" >
<i th:class="fa fa-square-o"></i><span th:text="${country.value}" />
</a>
</li>
但是你可能不想要额外的跨度,所以你可以使用th:block。
<li th:each="country : ${countryList}">
<a th:href="@{country.key}">
<i th:class="fa fa-square-o"></i><th:block th:text="${country.value}" />
</a>
</li>
或者只是内联文本本身。
<li th:each="country : ${countryList}">
<a th:href="@{country.key}" th:inline="text">
<i th:class="fa fa-square-o"></i>[[${country.value}]]
</a>
</li>
编辑:另外,如果根据JavaBeans约定命名属性,则应该使用.key而不是.getKey()