1
我在一個portlet中有10個不同的子portlet。在portlet.xml文件中,我的配置是::Liferay中只能有一個控制器用於多個portlet
<portlet>
<portlet-name>portletA</portlet-name>
<display-name>portletA</display-name>
<portlet-class>com.liferay.util.bridges.mvc.MVCPortlet</portlet-class>
<init-param>
<name>view-template</name>
<value>/view-a.jsp</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
</supports>
<portlet-info>
<title>A</title>
<short-title>A</short-title>
<keywords>A</keywords>
</portlet-info>
<security-role-ref>
<role-name>administrator</role-name>
</security-role-ref>
<security-role-ref>
<role-name>guest</role-name>
</security-role-ref>
<security-role-ref>
<role-name>power-user</role-name>
</security-role-ref>
<security-role-ref>
<role-name>user</role-name>
</security-role-ref>
</portlet>
<portlet>
<portlet-name>PortletB</portlet-name>
<display-name>PortletB</display-name>
<portlet-class>com.liferay.util.bridges.mvc.MVCPortlet</portlet-class>
<init-param>
<name>view-template</name>
<value>/view-b.jsp</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
</supports>
<portlet-info>
<title>B</title>
<short-title>B</short-title>
<keywords>B</keywords>
</portlet-info>
<security-role-ref>
<role-name>administrator</role-name>
</security-role-ref>
<security-role-ref>
<role-name>guest</role-name>
</security-role-ref>
<security-role-ref>
<role-name>power-user</role-name>
</security-role-ref>
<security-role-ref>
<role-name>user</role-name>
</security-role-ref>
</portlet>
就像這樣。在我的功能中,只有視圖是不同的,在控制器中,我必須爲所有portlet編寫相同的代碼。 在View中,我必須編寫一個操作方法,這對所有portlet都是一樣的。我怎樣才能做到這一點。我正在考慮編寫@doview,但在這種情況下,我不確定什麼是我的portlet類,如何將不同的動作發送給同一個類。
你的意思是你在一個_plugin_中有10個不同的_portlets_? _答案我可以在liferay_中爲多個Portlet只有一個控制器_yes_,但是我不明白你的問題是什麼?你是否試圖按照你描述的方式來實現它,並遇到問題? –
我只想知道'Portlet-class'的值應該爲每個portlet編寫單獨的類嗎? – Pranoti
@Nisha絕對不是......將同一個類聲明爲門戶類是非常常見的(正如Tobias所寫,Liferay將爲每個portlet創建不同的實例),因爲常見的框架(如Spring-mvc或LR本身)提供一個(或幾個)類(例如您使用的LR oob MVCPortlet)來包裝Portlet生命週期,讓您只編寫代碼(無需編寫doview或擔心在Portlet中分派請求) –