извлечение данных из формы выбора html с помощью Play Framework - PullRequest
0 голосов
/ 03 февраля 2011

как говорится в заголовке, я пытаюсь извлечь выбранный элемент из HTML-формы выбора. Я попытался сделать это с помощью следующего кода, но он не работает! значение города всегда NULL, но поле адреса возвращает правильное значение ...

Форма.html:

#{extends '/Admin/admin.html' /}
 #{form @save(id)}

    #{ifErrors}
        <p class="error">
            Please correct these errors.
        </p>
    #{/ifErrors}

    <p>
        <label>Adresse</label>
        <input type="text" name="adress" value="${flash.adress}" id="adress" />
        <span class="error">#{error 'adress' /}
    </p>
    <p>
        <label>Ville</label>
        <select size="1" >
            #{list items:cities, as:'city'}
                <option name="city" id="city" value="${flash.city}">${city}</option>
            #{/list}
        </select>
        <span class="error">#{error 'city' /}
    </p>
    <p>
        <input type="submit" value="Publier l'annonce" />
    </p>

 #{/form}

метод сохранения:

public static void save(long id, String adress, @Required Place city){ 
    System.out.println(city);
    Admin.index();
}

Ответы [ 3 ]

6 голосов
/ 03 февраля 2011

Вы должны назвать свой тег выбора, а не тег опции, и вы должны использовать правильное поле:

<select size="1" name="city.id">
            #{list items:cities, as:'city'}
                <option value="${city.id}">${city.name}</option>
            #{/list}
</select>

См. Документ для получения дополнительной информации о привязке: Документ

0 голосов
/ 12 апреля 2012
#{select 'city', value:C2, id:'select1'}
#{option 'C1'}City1#{/option}#{option 'C2'}City2#{/option}#{option 'C3'}City3#{/option}
#{/select}
0 голосов
/ 03 февраля 2011

Это не будет работать так, как должно быть:

public static void save(long id, String adress, @Required String city){ 
    // in order or so I think...: get the city ID or whatever, process all the data and save
    System.out.println(city);
    Admin.index();
}

Есть еще один способ, который, я считаю, тот, который вы ищете:
http://www.playframework.org/documentation/1.1.1/controllers#POJOobjectbinding

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...