【问题标题】:Get the values of maps in arrayList获取arrayList中地图的值
【发布时间】:2015-08-13 09:51:44
【问题描述】:

我有一个在我的控制器中生成并传递到 GSP 页面的地图数组列表!

我想将地图的值作为列表显示在 g:select in gsp 中!

就像在arrayList中的每个元素(Map)中一样!选择选项值应该是映射值,映射键作为 optionKey 因为我想在用户选择选项时在脚本中使用此键!

对不起,如果问题不太清楚,我有点困惑!

 ArrayList[Map1,Map2,Map3]
    Map1[1,value1]
    Map2[2,value2]
    Map3[3,value3]
    // the values are strings to show in select
   //the respective key of the option value the user has chosen i want it as option key so i can pass it to script

【问题讨论】:

  • 你能把你的示例代码做成人们可以使用的东西而不是伪代码吗?

标签: groovy gsp


【解决方案1】:

如果我理解正确,您有一个地图列表 (ArrayList),并且您希望将每个地图表示为一个选择,对吗?

您的地图数组列表可能是这样的:

def words_en = ['One':'Apple', 'Two':'Pear', 'Three': 'Strawberry']
def words_it = ['One':'Mela', 'Two':'Pera', 'Three': 'Fragola']
def words_de = ['One':'Apfel', 'Two':'Birne', 'Three': 'Erdbeere']

def myList = [words_en, words_it, words_de]

您可以按如下方式生成选择元素:

<g:each var="myMap" in="${myList}" status="i">
    <g:select id="select_${i}" name="select_${i}" optionKey="key" from="${myMap}" optionValue="value" ></g:select> <br/>
</g:each>

编辑: 通过您问题的编辑版本,我了解到您有多个映射,每个映射仅包含一个键值对。鉴于您的键是唯一的,最好的方法是将所有地图合并为一个,然后简单地使用它来填充选择:

def words_1 = ['One':'Apple']
def words_2 = ['Two':'Pera']
def words_3 = ['Three': 'Erdbeere']

def myList = [words_1, words_2, words_3]

def myMap = [:]
myList1.each{map->
    myMap.putAll(map)
}

在视图中:

<g:select id="mySelect" name="mySelect" optionKey="key" from="${myMap}" optionValue="value" ></g:select>

【讨论】:

  • 谢谢你能检查一下我刚刚编辑的代码示例!也许我无法先清楚地解释我的问题
猜你喜欢
  • 2014-11-21
  • 1970-01-01
  • 1970-01-01
  • 2012-10-15
  • 1970-01-01
  • 1970-01-01
  • 2011-08-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多