所以这就是我想要做的:
我正在尝试从 liferay 主题调用 servlet/控制器(无论我可以先开始工作)。
这是我所做的:我制作了一个名为 XController 的控制器,然后生成了一个 url 来调用它:
#set ($embeddedPortletURL = $portletURLFactory.create($request, "workspace_WAR_xportlet", $page.plid, "RESOURCE_PHASE"))
<input id="workspaceSearchUrl" value="${embeddedPortletURL}" type="hidden">
然后对于ajax调用,我用作$("#workspaceSearchUrl").val() + "&p_p_mode=view&p_p_resource_id=doSomething"
url。我能够调用portlet 没有问题,但是每当我调用portletRequest.getRemoteUser() 时,我得到的userId 为“2203”,而不是登录用户。
那么......我到底做错了什么?为什么 getRemoteUser 方法会返回一个数字?
编辑:为了清楚起见,对其他控制器的其他 ajax 调用返回一个有效的用户 ID(文本)。
我也尝试调用一个 servlet,但是调用 getRemoteUser 返回一个空值。我想这意味着 servlet 不与门户共享会话?