2013-03-15 121 views
2

我在示例web對象應用程序項目中使用了兩個會話,即CCXSessionSession,這裏的Session類從CCXSession遺漏。在Java中將變量從一個會話傳遞到另一個會話

爲了本地化的目的,我需要將會話對象從會話發送到CCXSession,但是我未能實現此目的。

我需要下面點的確認:

  1. ,纔有可能從一個會話發送會話值到另一個?
  2. 如果是這怎麼可能?

和代碼是:

公共字符串displayAppNameDash(){

String retVal = null; 
    retVal = (String) ((CCXSession) session()).localizer().valueForKey(currentApp.applicationLink().deployAppName().displayAppName()); 
    return retVal; 
} 

我在這裏的關鍵值傳遞給valueForKey();

任何機構可以幫助我解決這個問題。

+0

本地化意味着翻譯的詞或句子不同的語言 – fresher 2013-03-15 11:25:26

+0

是本屆類序列化..? 你有沒有嘗試序列化會話對象,並通過發送? 我還假設類CCXSession是一個自定義類。 如果不是請提供罐子名稱或完整的類名稱,並檢查它的Java文檔。 – 2013-03-15 11:33:17

+0

沒有它的不是vineet,並明確表示我們使用兩個框架(一個用於顯示應用程序名稱)和另一個用於appliation.we使用CCXSession作爲儀表盤和應用程序的Session。 – fresher 2013-03-15 12:03:13

回答

0

根據我的Java EE概念,會話值只能通過請求傳輸,直到除非您在兩個變量之間傳遞請求,否則您剩下的選項很少。

出來的這些選項,你可以嘗試以下方法:

  • 使用應用程序上下文和在運行時設置和檢索它 相應
  • 或者你可以使用一些靜態類,單例模式傳遞價值的價值。因爲應用程序位於相同的代碼庫中,因此讓其他類可以從ccxsession訪問值並將其設置在會話類中。
  • 您可以根據需要使用數據庫表來存儲和檢索數據。但這將會是一個性能缺陷
  • 最後,如果可能的話,您可以查看Web服務,這是最糟糕的情況,因爲兩個會話都在相同的應用程序中。

按照我的第2個選項應該爲你工作

相關問題