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

Thymeleaf查询参数解析异常:输出字符串对象而非实际值求助

问题解决:Thymeleaf 2.1.4打印URL查询参数显示数组对象地址
  • 问题根源:Thymeleaf中${param.xxx}返回的是字符串数组(HTTP协议允许同一个参数名传递多个值),直接打印数组会输出其默认的toString结果,也就是你看到的[Ljava.lang.String;@767a8ed5。

  • 解决方案:

    1. 直接取数组第一个元素:因为你只传递了一个message参数,用下标[0]获取单个值即可,修改后的代码如下:
      <p th:text="${param.message[0]}"></p>
      
    2. 带默认值的安全写法:如果担心参数不存在导致空指针,可结合Thymeleaf的字符串工具类处理:
      <p th:text="${#strings.defaultString(param.message[0], '无消息')}"></p>
      
  • 扩展场景验证:若URL中传递多个同名参数(比如http://localhost:8000/about?message=Hello&message=World),${param.message}会返回包含两个元素的数组,此时可通过遍历输出所有值:

    <div th:each="msg : ${param.message}">
      <p th:text="${msg}"></p>
    </div>
    

内容的提问来源于stack exchange,提问作者Akhmad Zaki

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 13:29:12