#spring-boot #thymeleaf
Вопрос:
когда значение не в th:text, на странице выводится значение null. как справиться с этим условием на странице thymeleaf
Это код Thymleaf:
<tr th:each="respondentdata,status : ${complaintPdfBean.respondent}">
<td th:text="'Respondents No : ' ${respondentdata.id}"></td>
<td>
<p th:text="${respondentdata.respondentDesignationname ',' respondentdata.respondentOffice ',' respondentdata.respondentothersOrg ',' respondentdata.respondentsubOrgName ',' respondentdata.respondentdepartmentName ',' respondentdata.citytownvillage}"></p>
</td>
</tr>
и это скриншот, где значения нет, тогда он показывает нуль
Ответ №1:
Для этого существует несколько методов. Я хотел бы привести пару самых простых из них…
Вы можете использовать утилиту выражения Thymeleaf #объекты для проверки на обнуление вашего объекта. Ваш код может выглядеть следующим образом:
<p th:text="${#objects.nullSafe(respondentdata.respondentDesignationname,'') ',' #objects.nullSafe(respondentdata.respondentOffice,'') ',' .... so on .....}"></p>
Вы можете использовать условную оценку Thymeleaf th:if атрибута с помощью утилиты выражения #strings объекта, разделив абзац p
на небольшие фрагменты span
. Ваш код может выглядеть следующим образом:
<p>
<span th:unless="${#strings.isEmpty(respondentdata.respondentDesignationname)}" th:text="th:text="${respondentdata.respondentDesignationname ','}"></span>
<span th:unless="${#strings.isEmpty(respondentdata.respondentOffice)}" th:text="th:text="${respondentdata.respondentOffice ','}"></span>
<span>.... so on ....</span>
</p>