gpt4 book ai didi

java - 定制现有的内置 Liferay portlet

转载 作者:行者123 更新时间:2023-11-30 04:06:17 30 4
gpt4 key购买 nike

我浏览了 Liferay 文档和许多其他教程。但我仍然对完成我的要求感到震惊。

这就是我需要实现的目标:1.) 在 Wiki(内置)Portlet(Portlet 中的任何位置)中创建新的自定义按钮或链接(href)2.) 单击该按钮后,我只想在该 portlet 中打开一个新的 jsp 页面。

这就是我所做的:我创建了一个 Liferay-hook 项目并选择/wiki/view.jsp 进行自定义。添加了一个按钮:

<liferay-ui:icon image="history" label="<%= true %>"
message="Notify Users" method="get"
url=<%="/c/portal/sample"%>" />

这是我的 liferay hook.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hook PUBLIC "-//Liferay//DTD Hook 6.1.0//EN" "http://www.liferay.com/dtd/liferay-hook_6_1_0.dtd"><hook><custom-jsp-dir>/META-INF/custom_jsps</custom-jsp-dir>
<struts-action>
<struts-action-path>/wiki/testing</struts-action-path>
<struts-action-impl>
com.liferay.sample.hook.action.WikiEmailHandlerAction
</struts-action-impl>
</struts-action> <struts-action><struts-action-path>/portal/sample</struts-action-path><struts-action-impl>
com.liferay.sample.hook.action.WikiEmailHandlerAction
</struts-action-impl>

其中,WikiEmailHandlerAction 是我的 Java 类,它扩展了 BaseStrutsPortletAction。当我单击“通知用户”按钮时,它会打开新的 jsp 页面(但不是在 portlet 内部,而是作为一个新页面)。Liferay专家,请告诉我如何满足这个要求。

最佳答案

您的 jsp 打开整个页面是由于/c/portal/sample url。

您应该使用一些参数集创建 renderURL。在重写的 StrutsAction 类的 render 方法中检查该参数并呈现您的自定义 jsp。

类似地,找到action方法,在actionURL中设置一些参数,并在覆盖的StrutsAction类的processAction中检查该参数。

关于java - 定制现有的内置 Liferay portlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20649994/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com