【问题标题】:Spring MVC Portlet: Accessing beans from portlet context in root contextSpring MVC Portlet:在根上下文中从 portlet 上下文访问 bean
【发布时间】:2011-01-25 17:09:50
【问题描述】:

是否可以从 spring mvc portlet 中的根应用程序上下文访问 portlet 上下文 bean?

【问题讨论】:

  • 需要这样做表明您的设计可能有问题。那么……你为什么需要那个?
  • 这是因为使用了直接网络远程处理框架。现在在我的项目中,当类在 portlet 上下文中时,无法生成与 java 文件对应的 javascript 文件。
  • 我认为有两种可能的解决方案:1) 将部分逻辑从控制器移动到根 Web 应用程序上下文 2) 尝试从在 portlet 上下文中实例化的类生成 javascript 文件。你知道实现它的方法吗?

标签: spring portlet


【解决方案1】:

如果DispatcherPortletpublishContext 属性为true(默认值),那么您可以从javax.portlet.PortletContext 获取portlet appcontext:

ApplicationContext otherPortletContext = portletContext.getAttribute(FrameworkPortlet.PORTLET_CONTEXT_PREFIX + otherPortletName);

然后使用其他portlet Context的bean作为: portletBean = otherPortletContext.getBean(beanName, beanClass);

请注意,您可以通过实现PortletContextAware 来获取javax.portlet.PortletContext 对象。

【讨论】:

  • PortletContextAware 正是我要找的东西。
【解决方案2】:

不,你不能像那样“向下”。 Portlet/servlet bean 可以在根上下文中看到 bean,但反之则不行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    • 2013-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多