根Web应用程序上下文XML文件与portlet应用程序相关联。该 Web应用程序上下文portlet的XML文件包含特定于portlet的bean,而 根Web应用程序上下文XML文件包含所有人都可以访问的bean portlet应用程序中的portlet。在根Web应用程序上下文中定义的bean 特定于portlet的应用程序上下文XML文件可以通过定义来覆盖XML 一个具有相同bean ID的bean。
它写在Portles In Action中。
它说我们可以使用portlet应用程序的根Web应用程序上下文XML文件中定义的bean。
任何例子?
我使用Sping Framework在Portlet A中定义了一个测试bean。
守则: 的web.xml
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
的applicationContext:
<bean id="testA" class="org.format.liferay.study.TestA" />
我在Portlet A中获得testA:
TestA test = (TestA)PortletApplicationContextUtils.getWebApplicationContext(getPortletContext()).getBean("testA");
这是成功的。
当我创建Portlet B
时的web.xml
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
applicationContext.xml为空。
所以我无法在Portlet B中获得testA。
我想知道如何在liferay中配置根应用程序上下文