gpt4 book ai didi

java - Liferay 门户组件 : liferay friendly custom Url parameter

转载 作者:行者123 更新时间:2023-11-29 03:04:58 24 4
gpt4 key购买 nike

有人可以帮助我吗?我有自定义参数,例如“statusparam”。我想做这样的事情:

actionResponse.sendRedirect(redirect + "&statusparam=error");

但问题是自定义参数对 liferay 不友好,liferay 在我的渲染方法中看不到它:

String status = ParamUtil.getString(renderRequest, "statusparam");

如何使用我的自定义参数生成 liferay 友好的 URL?或者我该如何服用它们?

最佳答案

模式一:setRenderParameter
一种方法是在操作阶段使用 setRenderParameter 设置渲染参数,如下所示:

actionResponse.setRenderParameter("statusparam", "error");

然后开始使用:

String status = renderRequest.getParameter("statusparam");

String status = ParamUtil.getString(renderRequest, "statusparam");

模式二:全局属性
另一种方法是将一个全局属性放在 action 类中,在 action 方法中为其赋值,然后它也可以在 render 方法中访问。

public class MyPortletAction extends GenericPortlet {
String statusparam = "";

public void doView(RenderRequest renderRequest, RenderResponse renderResponse) {

if(statusparam != ""){
// Perform operation as per your requirement
}
}

public void processAction(ActionRequest actionRequest, ActionResponse actionResponse) {

// Set statusparam here:
statusparam = "error";
}
}

模式三:queryString
而如果你想将它作为 queryString 参数传递,那么你可以在渲染阶段从 HttpServletRequest 对象中提取它,如下所示:

HttpServletRequest request = PortalUtil.getHttpServletRequest(renderRequest);
String statusparam = request.getParameter("statusparam");

关于java - Liferay 门户组件 : liferay friendly custom Url parameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32585592/

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