You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Thymeleaf页面th:text属性值为空时如何避免输出null

Thymeleaf th:text输出null问题解决方案

方案1:使用默认值表达式 ?: 处理单个变量

直接在变量表达式后加?:和要显示的默认值,变量为null时会自动替换为默认值,比如空字符串''。
你代码里的序号行可以修改为:

<td th:text="'Respondents No : ' + ${respondentdata.id?:''}"></td>

如果id为null,只会展示Respondents No : 不会出现null字符串。

方案2:多字段拼接场景使用#strings.listJoin处理

你当前需要拼接多个字段用逗号分隔,手动给每个字段加默认值会出现多余逗号的问题,用Thymeleaf内置的字符串工具类方法可以自动过滤null值,避免多余符号,修改后的p标签代码如下:

<p th:text="${#strings.listJoin({respondentdata.respondentDesignationname, respondentdata.respondentOffice, respondentdata.respondentothersOrg, respondentdata.respondentsubOrgName, respondentdata.respondentdepartmentName, respondentdata.citytownvillage}, ',')}"></p>

#strings.listJoin方法会把第一个参数数组里的非null值用第二个参数的分隔符拼接,不会出现null字符串也不会有多余的逗号。

完整修改后的代码

<tr th:each="respondentdata,status : ${complaintPdfBean.respondent}">
    <td th:text="'Respondents No : ' + ${respondentdata.id?:''}"></td>
    <td>
        <p th:text="${#strings.listJoin({respondentdata.respondentDesignationname, respondentdata.respondentOffice, respondentdata.respondentothersOrg, respondentdata.respondentsubOrgName, respondentdata.respondentdepartmentName, respondentdata.citytownvillage}, ',')}"></p>
    </td>
</tr>

内容的提问来源于stack exchange,提问作者Pankaj Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 18:36:04