将一个JSF应用程序中的backing bean定义到另一个JSF应用程序中

时间:2012-03-08 13:15:25

标签: jsf richfaces jsf-1.2

我有一个包含多个JSF 1.2 + RF 3.3。(0/3)WAR的EAR。

要求是我需要从另一个WAR调用一个WAR中的方法。确定它们都是JSF应用程序。

那么可以将一个WAR中的bean声明为另一个WAR的faces-config,但两个WAR都驻留在一个EAR中吗?

或者这项工作有更好的选择吗?

======编辑====================================== ================

或者使问题更加简单/复杂:另一个出现这个问题的方案是,

我正在尝试从另一个应用程序调用一个应用程序屏幕。

Ex:调用app是invoke.war,调用的app是target.war。

如果我直接访问target.war,它会有第一个处理数据并进入第二个屏幕的屏幕。

但是如果我必须从invoke.war调用target.war,我已经处理了数据(在invoke.war中),因此想直接进入第二个屏幕,这样target.war就不必再次处理了。

为此,我想到了上述方法:)

1 个答案:

答案 0 :(得分:1)

不可以,在另一个WAR中直接调用辅助bean中的方法。以下是一些替代方法:

  1. 使用远程EJB或SOAP / REST服务等方法在“其他WAR”中公开方法。
  2. 将数据存储在两个WAR都可见的缓存中。如果您使用JBoss,那么JBoss Cache可以满足您的需求。
  3. 启用会话共享,并将数据存储在会话中。并非所有应用服务器都支持此功我知道WebSphere会这样做。