如何解决修改相同jsp的钩子之间的冲突?

时间:2014-08-20 07:44:20

标签: liferay hook

我们已经从liferay下载了Notifications portlet,它修改了JSP:

html/portlet/dockbar/view_user_account.jspf

我们还在钩子中修改这个特殊的jspf。

目前我们正在做的是我们在自定义钩子中复制通知portlet中的代码,并在最后部署我们的自定义钩子,以便应用我们的更改。

否则我们需要通过修改通知portlet的源来从通知portlet中删除JSP挂钩。

有没有更好的方法来实现这一目标?

由于

1 个答案:

答案 0 :(得分:1)

不幸的是,你被困在一块岩石和一块坚硬的地方之间。您需要修改其中一个插件以不包含JSP。 Liferay可以处理每个JSP最多被覆盖一次。

另一种方法可能是在显示页面后通过JS DOM操作“破解”您的更改。这使得维护更加困难,但可以简化日常业务和更新。

涉及两个插件更改同一JSP的任何变通方法的一个大问题是未定义顺序。此外,它可能具有破坏性:在部署和取消部署修改相同JSP的两个插件之后,原始JSP就消失了:(

部署插件A,然后是B,然后取消部署A将使您只部署插件B,但使用A的已覆盖JSP版本。