Как отобразить значение карты, которая также является картой в теге <g: select> или <select>?

У меня есть карта, которая выглядит так:

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}

Есть ли способ показать значение "полное имя" в теге или. Может кто-нибудь, пожалуйста, помогите??

2 ответа

Решение

Ты можешь попробовать:

<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>

но я не уверен, что это сработает.

Другие вопросы по тегам