2015-04-04 61 views
0

我想基於第一個java組件的上下文爲頁面添加動態顯示。我有2個全局Java類處理相同頁面的邏輯。第一個Java類(詳細信息)從JSON中檢索數據並將其存儲,以便稍後使用JSP作爲視圖進行顯示。另一個Java類(顯示文本)需要知道另一個Java是否存在1個數據值(提升),並顯示基於提升的不同文本是否存在。如何從同一頁中的另一個Java類中的一個Java類獲取值/元素

當前2個類是獨立創建的,因此值提升無法傳遞到第二個類的構造函數中。

問題: 因爲第二個Java類也是全局的,所以從第一個Java類獲取完整的JSON功能是很昂貴的,因爲這個組件在每個頁面中都被使用。 我想通過在第一個jsp組件中設置一個id使用javascript getElementbyId,並在第二個類中檢索id以顯示不同的文本。缺點是它依賴於UI html元素來查看是否在第二個Java組件中顯示內容。我想使用的另一個解決方案是servletContext在第一個類中設置促銷變量,當第二個類檢查並查看變量存在時,它可以顯示文本。有沒有其他建議可以解決這個問題?

回答

0

你是否使用spring作爲背景框架。這將允許使用它的依賴注入,因此您可以將您需要的任何值從第一個類傳遞到第二個構造函數。

這也會減少你的依賴性和複雜性。

+0

2類的當前結構不允許將參數傳入第二類。我正在考慮使用javascript讀取當前頁面的元素,或者使用Java servlet上下文在第一個類中設置屬性並在第二個類中檢索它。 – Shawn 2015-04-04 22:44:37

+0

設置servlet上下文不是一個好主意,因爲它不必要地重載JVM。一個更好更簡單的解決方案可能是爲第二類的屬性添加一個getter和setter,並在調用您的特定方法之前,調用setter並通過getter使用該值, – 2015-04-05 03:52:21

+0

謝謝你的回答,我有想過把一個getter/setter放到第二個類中,這樣第一個類可以設置它並在稍後檢索。但問題是,即使他們在同一頁面內,這兩個類也不會與每個類交談。它們是添加到cq adobe web內容管理系統中的兩個組件。 – Shawn 2015-04-05 21:21:26

相關問題