我有两个 JSF 1.2 应用程序在同一个 weblogic 服务器中运行:App1.war 和 App2.war 我需要从 App1 页面(例如 page3.xhtml)调用 App2 中的 jsf 页面。在 App2 的所有页面中输入值后,控件应该返回到 App1 page3.xhtml,我应该能够使用在 App2 页面中输入的数据。
我可以使用 ExternalContext.redirect() 方法从 App1 调用 App2 jsf 页面。但是我遇到的问题是我无法从其他应用程序访问托管会话 bean?由于数据很大,我也不能将其作为 GET 请求传递。我只能创建一个包含所有页面值的 xml 数据并尝试使用 HTTPSession 进行传输,但这不起作用。下面是我在 App1 中使用的代码
FacesContext facesContext = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) facesContext.getExternalContext().getSession(false);
session.setAttribute("xml", xml);
ExternalContext externalContext = facesContext .getExternalContext();
externalContext.redirect(url);
在 App2 中
HttpSession session = request.getSession(false);
session.getAttribute("xml"); ----> Returns null
如何在 JSF 应用程序之间传递大量数据?