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

FreeMarker模板size实体引用未以分号结尾错误排查求助

解决FreeMarker分页宏的XML实体引用错误

错误原因分析

  1. 原始代码中的&是XML特殊字符,XML解析器会将&开头的内容视为实体引用。&size并非XML预定义实体,且未以;结尾,因此触发实体"size"的引用必须以';'分隔符结尾错误。
  2. 你尝试替换&为&后出现ampsize错误,大概率是操作时遗漏了&的分号,导致&ampsize被解析成一个不存在的实体引用。

解决方案

将URL参数中的&正确替换为XML实体&(必须带分号),XML解析器会自动将&转回&,同时避免实体引用错误。

修正后的代码行

<a class="page-link" href="${url}?page=${p - 1}&amp;size=${page.getSize()}" tabindex="-1">${p}</a>
<a class="page-link" href="${url}?page=${page.getNumber()}&amp;size=${c}" tabindex="-1">${c}</a>

额外优化建议

如果你的分页宏需要处理更多URL参数,可考虑使用FreeMarker的url内置函数自动编码特殊字符,避免手动转义:

<#assign pageUrl = url + "?page=" + (p - 1) + "&size=" + page.getSize()?string>
<a class="page-link" href="${pageUrl?encodeUrl}" tabindex="-1">${p}</a>

?encodeUrl会自动将URL中的特殊字符(包括&)编码为符合规范的格式,同时保证XML解析正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 01:57:16