我正在尝试根据某些标准编写JSP。我需要确定它是在Portlet中加载还是在实际的浏览器中加载。
这里我使用的是Liferay Portlet,其他团队正在更改Liferay的版本。
我想说,您通常不需要确定您是在Portlet还是独立应用程序中运行。您需要与之交互的URL。并且,您应该让有问题的应用程序的开发人员提供正确的URL进行联系-将是portlet URL或servlet URL。和/或也许是字段名称或名称空间的某些映射-就是这样。
将这两种环境之间的所有差异都压缩得如此之多,以至于它们只是一些数据-这样,您就可以在将脚本代码传递到浏览器之前生成数据了。
只需将此方法放入您的portlet类中。如果您的Jsp将由portlet加载,则它将打印控制台日志,显示该“使用Portlet调用的Jsp”。
@Override
public void doView(RenderRequest renderRequest, RenderResponse renderResponse)
throws IOException, PortletException {
System.out.println("Jsp Called Using Portlet");
super.doView(renderRequest, renderResponse);
}