[英]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.