在struts2 autocompleter标签上显示Map键

时间:2016-07-28 09:17:35

标签: jsp struts2 jstl ognl struts2-jquery

我使用autocompleter使用struts2 jquery plugin代码进行了一段时间的努力。

我已经能够以一种简单的方式使用它,只是从数据库中检索String列表,但现在我想知道是否可以从我的操作中获取HashMap并显示用户< strong>仅限密钥。

来自该操作的响应是成功的,我可以在我的chrome dev工具上看到该操作返回的JSON包含我的Map。但是,自动填充程序显示值而不是我真正想要的密钥,因为我正在尝试向用户列出一些地址并将其用作Map上的密钥,其值只是每个地址的标识符。

这个例子应该说明Map的样子。当用户写'Ho'时,这是我从动作调用中得到的响应:

{"addressesList":{"Home":"-20","Hotel":"-4","Hooters":"-2"}}

然而,当用户开始在自动完成器中写入时,它会一直显示值(-20,-4,-2),这些值不代表用户。

我知道我可以改变我的方式并将标识符存储为键,将地址的名称存储为值,但我对此很好奇,并且真的想学习如何强制我的autocompleter标记显示键而不是Map值。这种简单的方法不适合我。

我相信这个问题与JSTL / OGNL有关,而不是Struts2标签,我发现它很有趣,因为我找不到任何关于如何做这个的例子。

我在JSP

中的自动完成标记
<sj:autocompleter 
        id="addresses"
        name="selectedAddress"
        list="addressesList"
        href="%{findAddresses}"
        delay="50"
        loadMinimumCount="2"/>

addressesList是我行动中的HashMap。 尝试了使用listValuelistKey属性的无限组合,例如设置listKey = addressesList.keySet()等类似的东西,但遗憾的是没有成功。

0 个答案:

没有答案