【问题标题】:Freemarker hash for Struts2 @s.select tag's list propertyStruts2 @s.select 标记的列表属性的 Freemarker 哈希
【发布时间】:2011-02-16 23:20:42
【问题描述】:

我正在使用 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>

【问题讨论】:

    标签: struts2 freemarker


    【解决方案1】:

    使用 select 标记的 listKey 和 listValue 属性似乎可以解决问题。

    现在的工作代码是:

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

    似乎这应该由标签自动处理,但如果没有明确设置这两个附加属性,我无法让它工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-25
      • 1970-01-01
      • 1970-01-01
      • 2018-10-27
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      相关资源
      最近更新 更多