Jail
Jail

Reputation: 900

Thymeleaf - Appending <br> to input tag

I'm trying to append a <br> after every input line in a form, but Thymeleaf keeps giving me parsing error.

Here is the code piece that I'm having trouble with:

<form th:if="${not #lists.isEmpty(brands)}">
<input th:each="brand : ${brands}" type="checkbox" th:value="${brand.name}" th:utext="${brand.name + <br>}" />
</form>

If I add the <br> tag outside of input tag, it doesn't add it to each line.

Thanks in advance

Upvotes: 3

Views: 6660

Answers (1)

pioto
pioto

Reputation: 2582

I think you may be going about this in the wrong way.

th:utext would insert that within the <input> node. But, according to the HTML5 Spec, nothing goes in an <input> tag ("Content model: Empty.")

I think you want something more like this:

<form th:if="${not #lists.isEmpty(brands)}">
    <th:block th:each="brand : ${brands}">
        <label th:for="${#ids.next('brand')}" th:text="${brand.name}">Brand A</label>
        <input type="checkbox" th:id="${#ids.seq('brand')}"
            name="brand" th:value="${brand.name}"/>
        <br/>
    </th:block>
</form>

If you're using Spring MVC, you may also find this example helpful: http://www.thymeleaf.org/doc/tutorials/2.1/thymeleafspring.html#checkbox-fields

Upvotes: 5

Related Questions