2010-05-07 2 views
2

Я использую Freemarker в качестве шаблона для приложения Struts 2 и имею некоторые проблемы с попыткой передать хеш Freemarker в значение списка тегов @ s.select.Freemarker hash для Struts2 @ s.select свойство списка тегов

В настоящее время я что-то вроде этого пытается в моем шаблоне:

<@s.select name="myDropdown" list={"1":"Foo", "2":"Bar", 3:"Baz"} /> 

Результирующий HTML, который оказывается такой:

<select name="myDropdown" id="myDropdown"> 
    <option value="[email protected]">[email protected]</option> 
    <option value="[email protected]">[email protected]</option> 
    <option value="[email protected]">[email protected]</option> 
</select> 

На основе документации, кажется, как это должно работать, но на самом деле единственными примерами являются списки Freemarker. Хеши упоминаются только как другой вариант, но я не смог найти примеры кода, которые их используют.

В конечном счете, мой вопрос заключается в том, какой синтаксис Freemarker следует использовать с тегом выбора Struts 2, чтобы отобразить следующий HTML-код?

<select name="myDropdown" id="myDropdown"> 
    <option value="1">Foo</option> 
    <option value="2">Bar</option> 
    <option value="3">Baz</option> 
</select> 

ответ

2

Использование listKey и listValue свойства тега select, похоже, делают трюк.

Рабочий код теперь:

<@s.select name="myDropdown" list={"1":"Foo", "2":"Bar", 3:"Baz"} listKey="key" listValue="value" /> 

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

Смежные вопросы