簡體   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