2013-03-11 1 views
0

我有一個需求(基於struts 1.xx的Java EE應用程序),其中我必須通過Struts動作類獲取Java對象AJAX以便在UI上顯示並以表格的形式呈現。通過ajax從struts 1.xx動作中檢索java對象(arraylist/hashmap)

該對象將是動態的,因爲它將通過Web服務進行填充,該服務將在操作本身中調用。

有無論如何通過AJAX(javascript/jquery)獲取對象嗎?該動作將在點擊UI標籤時被調用,並且我必須在該特定標籤中顯示該動作的響應(arraylist/hashmap對象)。

請看看,我正在研究一個現有的應用程序,我只能使用Struts 1.xx框架。

下面是我會在動作類執行的步驟:

public class AjaxAction extends Action { 
public ActionForward execute(final ActionMapping mapping, final ActionForm form, 
      final HttpServletRequest request,final HttpServletResponse response) 

    {  
     // Step1 :webservice call 
        //Step 2: parse the webservice reponse and place it inside a hashmap or arraylist object 

       return null; 
    } 
} 

第三步:要通過AJAX獲取填充的HashMap/ArrayList對象並在其即時通訊不知道如何做到這一點的UI顯示。 任何示例或指向某些教程的指針都會有所幫助。

回答

0

你可以使用jQuery ajax。

jQuery ajax

+0

感謝您的回覆,但我的要求不是獲取單個或多個預定義的文本值,而是在輸出中獲取n個不同的java obejcts(字符串,整數等)。總之,我想要封裝java對象在ajax上的輸出不僅僅是一個文本輸出。 – user1697113 2013-03-11 12:20:36

+1

@ user1697113您在響應中沒有得到「Java對象」,就會得到文本。你如何解釋*文字是什麼改變。例如,你可以返回序列化爲JSON的對象。 – 2013-03-11 13:24:49

+0

好吧,這是有道理的,我不知道這個限制。謝謝您的幫助。 – user1697113 2013-03-13 05:30:42

0

至於我的問題,我發現了一個簡單的解決方案,我不知道是否回答我的問題,但它幫我解決。

我使用jQuery UI的標籤框架http://jqueryui.com/tabs/#ajax

而不是讓整個對象從操作它的設施來調用行動本身。 這可以通過在選項卡中提供操作的url來完成。

<li><a href="myAction.do">CALL a JSP VIA AJAX</a></li> 

現在這個選項卡將載入另一個jsp,它將被動作本身調用。因此,它不必通過ajax發送大量數據,而是可以通過發起操作調用標籤中的整個jsp。