Liferay 7.4分页器定制:所需包及OSGI宿主Bundle咨询
Liferay 7.4 分页器Fragment定制实现指南
一、确定宿主OSGI Bundle
分页器相关JSP属于com.liferay.frontend.taglib.servlet.taglib这个OSGI Bundle,它是Liferay前端标签库的核心组件,负责提供分页、搜索等通用UI的底层实现。创建Fragment时,需将此Bundle指定为宿主Bundle。
二、依赖包配置
在Fragment的bnd.bnd文件中,需导入以下包以保证编译和运行依赖:
com.liferay.frontend.taglib.servlet.taglib:核心标签库包com.liferay.portal.kernel.util:处理分页参数、本地化等的内核工具类javax.servlet.jsp:JSP基础APIjavax.portlet:Portlet环境相关API(分页器在Portlet内使用时需导入)
示例bnd.bnd配置片段:
Bundle-Name: Custom Pagination Fragment Bundle-SymbolicName: com.yourcompany.liferay.fragment.custom.pagination Bundle-Version: 1.0.0 Fragment-Host: com.liferay.frontend.taglib.servlet.taglib;bundle-version="[7.4.0,7.5.0)" Import-Package: \ com.liferay.frontend.taglib.servlet.taglib,\ com.liferay.portal.kernel.util,\ javax.servlet.jsp,\ javax.portlet
三、重写文件的目录结构
需在Fragment项目中创建与原文件完全一致的目录结构,才能实现覆盖:
start.jsp原路径:META-INF/resources/frontend/pagination/start.jspshowing_x_results.jspf原路径:META-INF/resources/frontend/pagination/showing_x_results.jspf
将你的自定义JSP文件放入对应目录即可。
四、重写注意事项
- 保留原JSP中的核心变量与标签引用,比如
<%= total %>、<%= delta %>这类分页参数,避免破坏原有逻辑 - 调用Liferay工具类前,确认已在
bnd.bnd中导入对应包 - 部署Fragment后,需通过Liferay控制面板的「服务器管理」->「清除缓存」操作,确保自定义内容生效
内容的提问来源于stack exchange,提问作者Devel0per
相关产品推荐
相关产品推荐

