0

いくつかのコントローラーのセットが定義された2つのポートレットがあります。SpringMVCを使用しています。ビューすなわちJSPでは、次のようないくつかのresourceUrlを定義します。

<portlet:resourceURL var="ListResourceUrl" id="getList"  ></portlet:resourceURL>

これは私が定義したコントローラーを指します

@ResourceMapping("getList")
    @ResponseBody
public ModelAndView getList(ResourceRequest request,ResourceResponse response) throws IOException {

.........
}

次に、別のポートレットで定義されているコントローラーを参照する別のresourceUrlを定義します。どうすればこれを達成できますか?

4

2 に答える 2

1

liferay-portlet-ext.tld代わりに使ってみてくださいliferay-portlet.tld

これはほぼ同じ数のタグですが、いくつかの追加パラメーターを追加できます。

liferay-portlet:resourceURL は、追加の属性 pid、portletName、anchor、および encrypt があることを除いて、portlet:resourceURL に似ています。

したがって、次のようなものを使用できます。

<%@taglib prefix="liferay-portlet" uri="http://liferay.com/tld/portlet" %>

<liferay-portlet:resourceURL id="getList" var="ListResourceUrl" 
                             portletName="portletname_WAR_portletname" />

portletname_WAR_portletnameLiferay固有のポートレットの実際の名前はどこにありますか。

于 2013-03-01T10:38:11.907 に答える
0

コントローラでプログラムでPortletURLを作成する場合は、PortletURLFactoryUtilを使用します。次のスニペットはあなたにアイデアを与えるはずです:

HttpServletRequest httpRequest = PortalUtil.getHttpServletRequest(request);
String portletId = "...";
Layout page = LayoutLocalServiceUtil.getLayoutByFriendlyUrl(group, "...");
PortletURL portletURL = PortletURLFactoryUtil.create(
        httpRequest, portletId, page.getPlid(), PortletRequest.RESOURCE_PHASE);
于 2013-03-12T22:00:42.043 に答える