我使用 Freemarker 作为 Struts 2 应用程序的模板引擎,并且在尝试将 Freemarker 哈希传递给 @s.select 标记的列表值时遇到了一些问题。
目前我正在我的模板中尝试这样的事情:
<@s.select name="myDropdown" list={"1":"Foo", "2":"Bar", 3:"Baz"} />
呈现的结果 HTML 是这样的:
<select name="myDropdown" id="myDropdown">
<option value="freemarker.ext.beans.HashAdapter$1$1$1@2c9bebb">freemarker.ext.beans.HashAdapter$1$1$1@2c9bebb</option>
<option value="freemarker.ext.beans.HashAdapter$1$1$1@16ca4a">freemarker.ext.beans.HashAdapter$1$1$1@16ca4a</option>
<option value="freemarker.ext.beans.HashAdapter$1$1$1@173ee8">freemarker.ext.beans.HashAdapter$1$1$1@173ee8</option>
</select>
根据文档,这似乎应该可行,但实际上唯一的例子是使用 Freemarker 列表。哈希仅作为另一种选择被提及,但我无法找到任何使用它们的代码示例。
最后我的问题是,我应该在 Struts 2 选择标记中使用什么 Freemarker 语法来呈现以下 HTML?
<select name="myDropdown" id="myDropdown">
<option value="1">Foo</option>
<option value="2">Bar</option>
<option value="3">Baz</option>
</select>