Выпадающий список -из модели/контекста Spring MVC для формирования с использованием freemarker

Это должно быть очень просто, но я ничего не могу найти об этом в Интернете, только кусочки, которые я не могу совместить..

Мы используем Spring MVC с freemarker. Теперь я хочу добавить на свою страницу форму, которая позволяет мне выбирать значение из предопределенного списка (требует доступа к базе данных в бэкенде ).

Мой контроллер:

@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public ModelAndView get(@PathVariable Integer id) {

    // stuff..
    ModelAndView mav = new ModelAndView();

    mav.addObject("targetObject", new TargetObject());
    mav.addObject("options", Arrays.asList("a", "b", "c"));
    mav.setViewName("someview");

    return mav;
}

Я нашел весеннюю поддержку freemarkers spring.ftl, и, похоже, мне следует использовать <@spring.formSingleSelect>, которую я пробовал вот так:

someView.ftl:

<#import "../spring.ftl" as spring />

<form action="somePath" method="POST">
    <@spring.formSingleSelect "targetObject.type", "options", " " />
    <input type="submit" value="submit"/>
</form>

Таким образом, targetObject.type автоматически связывается с макросом.

Но как мне получить мои параметры в последовательности freemarker, чтобы макрос мог создать параметры?

Прямо сейчас я получаю:

Expected collection or sequence. options evaluated instead to freemarker.template.SimpleScalar on line 227, column 20 in spring.ftl.
The problematic instruction:
----------
==> list options as value [on line 227, column 13 in spring.ftl]
 in user-directive spring.formSingleSelect [on line 53, column 9 in productBase/show.ftl]
----------

Я также пробовал:

<@spring.bind "${options}" />

и многое другое в том же духе, но безуспешно:

freemarker.core.NonStringException: Error on line 48, column 18 in someView.ftl
Expecting a string, date or number here, Expression options is instead a freemarker.template.SimpleSequence

Спасибо за любую помощь!

5
задан Pete 11 July 2012 в 18:58
поделиться