2012-07-11 58 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通信不同的技术: