2012-07-11 49 views
0

我需要將支持bean(JSF)中的對象HashMap傳遞給JavaScript並對其進行迭代。使用Java和Javascript進行映射

當我在javascript中獲取對象時,我檢查它不是null,但無法迭代。

是否有任何種類的Map可以在我的方案中使用?或者,如何將我的HashMap對象轉換爲可以用jQuery迭代的普通JavaScript對象?

+0

如果不是'null',又是什麼呢? – 2012-07-11 11:58:28

+0

我不知道,我用if語句來檢查它是否爲null,但它真的不爲null ^^ z – user1487380 2012-07-12 00:36:22

回答

0

您可以轉到:JSON使用免費的教程,如GSON。 jquery將能夠通過$.ajax來收回它,並使用$.each進行迭代。

+0

我使用HttpServletResponse並寫入jSon String。但^^ z我不知道如何在JavaScript中獲取該對象 – user1487380 2012-07-12 02:11:31

+0

String jSon = ClassCommon.convertToJson(componentSyncIds); \t \t \t \t ExternalContext externalContext = FacesContext.getCurrentInstance()。getExternalContext(); \t \t \t \t PortletResponse portletResponse =(PortletResponse)externalContext.getResponse(); \t \t \t \t HttpServletResponse response = PortalUtil.getHttpServletResponse(portletResponse); \t \t \t \t response.setContentType(「application/json」); \t \t response.setCharacterEncoding(「UTF-8」); \t \t response.getWriter()。write(jSon); – user1487380 2012-07-12 02:11:47

0

JSON一試。您可以將一些Java對象轉換爲JSON並使用JavaScript讀取。你必須找到一種溝通方式,也許AJAX

0

如果您不使用JSON,則可以將您的地圖值放入隱藏元素中。 Definition lists是地圖的天然匹配:

<dl> 
    <dt>Coffee</dt> 
    <dd>- black hot drink</dd> 
    <dt>Milk</dt> 
    <dd>- white cold drink</dd> 
</dl> 

您也可以使用表格。

這裏是一個BalusC與nice overview爲JSF對JS通信不同的技術: