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

Liferay 7.4自定义片段中Freemarker代码未解析仅显示为HTML求助

Liferay 7.4自定义片段Freemarker代码未被处理的解决方法

检查片段类型

  • 创建自定义片段时,必须选择Freemarker类型,而非HTML类型。选HTML的话,系统会直接把代码当文本渲染,不会解析Freemarker语法。

验证Freemarker语法

  • 排查代码是否有语法错误,比如未闭合的指令标签:
    错误示例:<#if user.loggedIn>欢迎回来</if>
    正确示例:<#if user.loggedIn>欢迎回来</#if>
  • 变量引用要加默认值避免报错,比如${user.name!""},防止变量为空时导致解析失败。

确认变量上下文可用性

  • 确保你用的Freemarker变量在当前片段的上下文里能访问到,比如页面片段无法直接使用某些Portlet专属变量,要匹配变量的作用域。

确认片段发布状态

  • 必须把片段发布到生产环境,不能只存为草稿。在编辑器里点击“发布”,确认状态显示为“已发布”,草稿状态的片段可能不会正常解析代码。

清理缓存并刷新

  • 进入Liferay控制面板→服务器管理→缓存,点击“清除全部缓存”。
  • 强制刷新浏览器页面,避免浏览器缓存了旧的未解析内容。

检查代码包装方式

  • 不要用额外HTML标签包裹Freemarker代码,直接编写逻辑即可,比如直接写:
    <#assign greeting = "Hello World">
    <p>${greeting}</p>
    
    系统会自动处理后渲染成HTML。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.01 12:24:54