繁体   English   中英

如何将数据从网页传递到另一个项目中的另一个网页(JSF 1.1-ADF 10.1.3)

[英]How to pass data from a web page to another web page in a different project (JSF 1.1 - ADF 10.1.3)

我在两个不同的项目中有两个页面(这意味着在单个部署的不同的耳朵文件中),我需要将数据从一个页面传递到另一个页面。

在命令链接的动作中

public String onSalva() {
     ADFContext.getCurrent().getApplicationScope().put("comingFrom", md);

     return "goToPrint";
}

在另一页的后备bean的构造方法中,我做了:

page = (String)ADFContext.getCurrent().getApplicationScope().get("comingFrom");

但是页面始终为空。 我尝试使用进程,会话和请求范围,但没有运气。 有没有一种方法可以通过手动指定参数重定向到另一页? 就像是

   return "goToPrint?pageFrom="+md;
}

当您说“不同的EAR”时,这意味着两个应用程序是相互隔离的,没有简单的方法可以通过Java将数据从另一个应用程序获取到另一个应用程序。

相反,您必须使用HTTP协议。 如果只想转到一个URL,请使用HttpServletResponse.sendRedirect()

这将在浏览器中打开新页面,就像用户在位置栏中键入URL一样。 浏览器将不再与您的第一个应用程序对话

如果您想保留在第一个应用程序中并仅向另一端发送一些数据,可以采用以下几种方法:您可以将另一个应用程序嵌入到iframe -不允许您交换数据,但用户可以填写并提交形式,例如。

或者,您可以使用HttpClient之类的库与其他应用程序对话。 这将允许您发送POST请求,并执行Web浏览器可以与其他应用程序一起执行的所有操作。

最后,您可以定义两个EAR都使用的共享企业bean。 一种方法是定义两个应用程序都订阅的消息服务。 第一个创建消息并将其放入队列,第二个等待消息并对其进行处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM