如何在 <g:select> 或 <select> 标签中显示也是地图的地图值?

How to display value of map which is also a map in <g:select> or <select> tag?

我有一张地图是这样的:

final static def BANK_NAMES = [
        bofa:[fullname:'Bank of America',hasPin:false],
        chase:[fullname:'Chase Bank',hasPin:false],
        wells:[fullname:'Wells Fargo Bank',hasPin:false],
        citi:[fullname:'Citibank',hasPin:false],
        us:[fullname:'US Bank',hasPin:false],
        usaa:[fullname:'USAA',hasPin:false],
        charles:[fullname:'Charles Schwab',hasPin:false]
]

我试过这样显示值:

<g:each in="${BankConstants.BANK_NAMES}" var="banks">
<option id="status">${banks}</option>
</g:each>

它显示如下:

bofa={fullname=Bank of America, hasPin=false}

有没有办法在 or 标签中显示 "fullname" 的值。有人可以帮忙吗??

你可以试试:

<g:each in="${BankConstants.BANK_NAMES}" var="banks">
    <option id="status">${banks.value.fullname}</option>
</g:each>

你可以改变

final static def BANK_NAMES = [
    [id: 'bofa', fullname:'Bank of America',hasPin:false],
    [id: 'chase', fullname:'Chase Bank',hasPin:false],
    [id: 'wells', fullname:'Wells Fargo Bank',hasPin:false],
    [id: 'citi', fullname:'Citibank',hasPin:false],
    [id: 'us', fullname:'US Bank',hasPin:false],
    [id: 'usaa', fullname:'USAA',hasPin:false],
    [id: 'charles', fullname:'Charles Schwab',hasPin:false]
]

所以您将拥有地图列表。然后您可以通过以下方式访问全名:

${banks.fullname}

编辑: 你也可以试试:

<g:each in="${BankConstants.BANK_NAMES.value}" var="banks">
    <option id="status">${banks.fullname}</option>
</g:each>

但我不确定这是否有效。