2010-05-07 66 views
2

我使用Freemarker作为Struts 2应用程序的模板引擎,并且尝试将Freemarker散列传递给@ s.select标记的列表值。Struts2 @ s.select标记的列表属性的Freemarker散列

目前我想这样的事情在我的模板:

<@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列表。哈希仅作为另一个选项提及,但我一直无法找到任何使用它们的代码示例。

最终我的问题是,为了呈现下列HTML,我应该使用什么Freemarker语法与Struts 2 select标记?

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

回答

2

使用select标签的listKey和listValue属性似乎有诀窍。

工作的代码现在是:

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

好像应该由标签被照顾的自动的,但我无法得到它没有明确设置这两个附加属性的工作。