我使用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>
从文档来看,这似乎应该是可行的,但实际上唯一的例子是使用自由标记列表。散列只是作为另一个选项提到的,但是我还没有找到任何使用它们的代码示例。
最后我的问题是,为了呈现下面的html,我应该在struts 2 select标记中使用什么freemarker语法?
<select name="myDropdown" id="myDropdown">
<option value="1">Foo</option>
<option value="2">Bar</option>
<option value="3">Baz</option>
</select>