PortalUtil.getOriginalServletRequest和PortalUtil.getHttpServletRequest有什么区别?

问题描述

查看Liferay 6的源代码(假设您正在谈论6),您可以看到PortalUtil.getOriginalServletRequest的功能,并将代码放置在下面:

public HttpServletRequest getOriginalServletRequest(
    HttpServletRequest request) {

    HttpServletRequest originalRequest = request;

    while (originalRequest.getClass().getName().startsWith(
                "com.liferay.")) {

        // Get original request so that portlets inside portlets render
        // properly

        originalRequest = (HttpServletRequest)
            ((HttpServletRequestWrapper)originalRequest).getRequest();
    }

    return originalRequest;
}

因此,正如评论中所说,“获取原始请求,以使portlet中的portlet能够正确呈现”。对于嵌套的portlet情况或类似情况,您可能只需要这样做。大多数时候,您只需要使用:

PortalUtil.getHttpServletRequest(portletRequest);

我希望这有帮助!

解决方法

我想知道两者之间的区别

PortalUtil.getOriginalServletRequest(portletRequest)

PortalUtil.getHttpServletRequest(portletRequest).

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”