0

在 Liferay 7 中,我想覆盖登录 jsp。

作为第一次测试,我尝试通过以下链接成功覆盖 bottom-ext.jsp

https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/overriding-core-jsps

之后,因为 login.jsp 不是 Liferay 7 中的核心 jsp,而是模块 jsp,所以我尝试了以下链接:

https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/overriding-a-modules-jsps

但不幸的是,在尝试部署*并启动之后,我的登录视图中没有任何变化,而我在 login.jsp 文件中添加了一些自定义 html。

有人成功地遵循了上一个教程吗?

对于我失败的测试,我有:

  1. 首先检索示例项目

https://github.com/liferay/liferay-blade-samples/tree/master/liferay-workspace/modules/blade.hook.jsp

  1. 接下来在第 18 行和第 20 行之间使用自定义 html 修改 login.jsp

<p style="color: red">changed</p>
<h1>Hello World</h1>
<c:choose>

  1. Liferay 模块项目似乎没有被部署*,因为在部署期间没有在 Eclipse 控制台中写入任何内容。通常,对于我的其他项目模块,我会收到以下消息:

16:31:49,741 信息 [pool-8-thread-2][BundleStartStopLogger:35] 开始 project.module_name_1.0.0 [864]

但不是在这种情况下......

4

1 回答 1

1

在 liferay 7 中,钩子始终处于已解决状态,此外,当您部署该钩子时,日志上似乎没有任何内容,似乎表明您的登录 portlet 版本不同。

在 gogo shell 中检查您的版本并在 bnd.bnd 的这一行中替换它

Fragment-Host: com.liferay.login.web;bundle-version="1.0.0"

当你部署它时,应该会出现一条消息,例如停止并启动 login.web,这就是 JSP 片段挂钩的工作方式。

最新的 Liferay IDE 3.1.0(12 月发布)提供了创建 JSP 片段挂钩的选项,如果您通过 BLADE CLI 遇到问题,请尝试使用。

于 2017-02-06T17:36:28.670 回答