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

Liferay 7中SpringMVC Portlet的Font-Awesome图标显示异常求助

解决Liferay 7.3 Spring MVC Portlet中Font Awesome图标显示问题

结合你使用的Liferay Developer Studio 3.8、Liferay Portal 7.3.1环境,以及遇到的Font Awesome图标异常问题,咱们一步步拆解原因并给出修复方案:

首先明确一个核心前提:Liferay Portal 7.3.x 默认集成的是 Font Awesome 5,你尝试使用的v3/v4类名和v5的命名规则不兼容,这是问题的根源。另外,即使系统设置开启了Font Awesome选项,Portlet层面也需要确保资源加载或类名使用正确。

一、修复Font Awesome 4图标不显示的问题

Font Awesome 4的类名(比如fa fa-search)和Liferay内置的v5类名(fas fa-search)格式不同,直接套用v4类名会无法识别,你有两种解决方向:

选项1:优先使用Liferay内置的Font Awesome 5

直接改用v5的类名规范修改代码,这是最适配Liferay环境的方案:

<div class="input-group col-md-4">
  <input class="form-control py-2" type="search" value="search" id="example-search-input">
  <span class="input-group-append">
    <button class="btn btn-outline-secondary" type="button">
      <i class="fas fa-search"></i>
    </button>
  </span>
</div>
  • fas代表Solid风格(对应v4的fa),如果需要Regular风格图标,替换为far,具体可根据需求调整前缀。

选项2:单独引入Font Awesome 4(不推荐,易冲突)

如果你必须使用v4,可在Portlet的JSPX中手动引入v4的CSS文件(注意避免和内置v5冲突):

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">

之后就能正常使用fa fa-search这类v4类名,但这种方式可能引发样式冲突,仅作为特殊场景的备选。

二、修复Font Awesome 3图标重复显示的问题

Font Awesome 3的类名(比如icon-search)和Liferay早期版本遗留的内置图标类名完全重复,Liferay 7.3依然保留了这些旧样式,导致旧图标和你引入的v3图标叠加显示。

解决方法非常直接:彻底放弃Font Awesome 3的类名,改用前面提到的v5或兼容的v4类名即可。

三、确保Portlet正确加载Font Awesome资源

即使系统设置开启了Font Awesome,部分场景下Portlet可能无法自动继承全局资源,你可以在liferay-portlet.xml中添加配置,强制加载内置的Font Awesome 5资源:

<portlet>
  <portlet-name>你的Portlet名称</portlet-name>
  <!-- 其他已有配置 -->
  <header-portlet-css>/o/font-awesome/css/font-awesome.min.css</header-portlet-css>
</portlet>

这个路径是Liferay内置Font Awesome 5的默认路径,能确保Portlet页面加载到正确的CSS文件。

额外排查小技巧

  • 检查JSPX的XML规范:比如你的代码中<input>标签无需闭合(写成<input>或<input/>即可),避免XML解析错误影响样式加载。
  • 用浏览器开发者工具(F12)排查:在Network标签确认Font Awesome的CSS是否成功加载,在Elements标签查看<i>元素的类名是否被正确应用、样式是否生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 13:22:31