1

根 Web 应用程序上下文 XML 文件与 portlet 应用程序相关联。portlet 的 web 应用程序上下文 XML 文件包含特定于 portlet 的 beans,而 root web application context XML 文件包含 portlet 应用程序中的所有 portlet 都可以访问的 beans。根 Web 应用程序上下文 XML 中定义的 bean 可以通过定义具有相同 bean ID 的 bean 被特定于 portlet 的应用程序上下文 XML 文件覆盖。

它是用 Portles In Action 编写的。

它表示我们可以使用在 portlet 应用程序的根 Web 应用程序上下文 XML 文件中定义的 bean。

有什么例子吗?

我使用 Sping 框架在 Portlet A 中定义了一个测试 bean。

代码:web.xml

<listener>
    <listener-class>
      org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

应用上下文:

<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 中配置根应用程序上下文

4

0 回答 0