如何在 Liferay DXP 7.3.10 GA1 中覆盖 update_password.jsp

How to override update_password.jsp in Liferay DXP 7.3.10 GA1

我正尝试按照以下示例覆盖门户网页 update_password.jsp

我还在 CustomJspBag sub[=38] 中设置了 属性 service.ranking:Integer=112 =]. 我的模块部署和启动没有错误, portal-web/docroot/html/portal/update_password.jsp 中的页面被新页面替换,旧页面变为 update_password.portal.jsp。 class 被激活,getCustomJsps() returns 页面名称。

但是浏览器中看不到更改。旧页面一直显示。 我怎样才能让它发挥作用?

感谢@Luke加入传送门版本,我现在用同一个版本重现了这个问题
然后,在使用以下资源后,我设法创建了一个覆盖 update_password.jsp:
的工作应用程序 https://git.fortiss.org/civitas-digitalis/platform/-/tree/master/modules/UpdatePasswordOverride
https://www.softwaresavvyblog.com/post/liferay-overriding-core-jsps
我用我的工作应用程序创建了一个存储库,向您展示代码的确切样子,当您访问时,它会在页面顶部打印一条“OVERRIDDEN”消息:
http://localhost:8080/c/portal/update_password
我的存储库位于此处:
https://github.com/peterpetrekanics/UpdatePwOverride7310

以下是我采取的详细步骤:

  1. 在您的计算机上创建一个新的 Liferay 工作区
    从终端使用 blade init 命令
    selectdxp-7.3-sp1
  2. 创建 MVC Portlet 项目并删除不需要的文件
  3. 确保您的 build.gradle 文件包含此行:
    compileOnly 组:“com.liferay.portal”,名称:“release.portal.api”
    否则你的 class 将不会检测到导入:com.liferay.portal.deploy.hot.CustomJspBag;
  4. 修改你的class:
    在您的 class' 名称
  5. 后添加“implements CustomJspBag”
  6. 实现未实现的方法(这是使用 Liferay Developer Studio 可能派上用场的部分)
    为此,我使用了前面提到的博客资源。
  7. 构建项目并将其部署到 运行 7.3 GA1 服务器
  8. 访问此页面,应该会出现被覆盖的消息:
    http://localhost:8080/c/portal/update_password

    希望对您有所帮助,如果您有其他结果,请告诉我