我们有一个自定义portlet,其中包含从另一个portlet调用的MVCActionCommand。MVCActionCommand成功执行,但是在页面上,结果页面中显示空的portlet主体。期望的是jsp有基于响应来呈现的数据,我们有像输入文本和标签这样的静态html代码来过滤数据。
我们在Controller中使用下面的代码来重定向到JSP
actionResponse.setRenderParameter("jspPage", "/META-INF/resources/results_page.jsp);主要问题是,我们只在PROD环境、UAT和本地环境中才会遇到这个问题。下面是我的portlet @component值,它工作得很好。
@Component(
immediate = true,
property = {
"com.liferay.portlet.display-category=category.search",
"com.liferay.portlet.instanceable=false",
"javax.portlet.init-param.template-path=/",
"javax.portlet.init-param.view-template=/view.jsp",
"javax.portlet.init-param.add-process-action-success-action=false",
"javax.portlet.name=SearchResults",
"javax.portlet.resource-bundle=content.Language",
"com.liferay.portlet.add-default-resource=true",
"javax.portlet.security-role-ref=power-user,user"
},
service = Portlet.class
)正在正确重定向到页面,但portlet正文为空。在这个页面中,我有一些静态HTML代码在这个页面上,它也没有加载。
为什么不同的环境对同一段代码有不同的行为?下面是屏幕截图。

发布于 2020-07-09 03:24:46
我建议您使用"mvcPath"参数,因为"jspPath"已被弃用。示例用法:EditUserOrganizationsMVCActionCommand.java
https://stackoverflow.com/questions/62773269
复制相似问题