【问题标题】:Struts 2 Select Tag Default ValueStruts 2 选择标签默认值
【发布时间】:2013-03-08 17:46:14
【问题描述】:

我正在使用 Struts 创建一个数据库记录编辑表单。

<s:select id="status" name="newRecord.status" list="statusTypes" listKey="id" listValue="description" label="Status:" value="" /><br />

示例列表:

Status' list: 
1 Open 
2 Closed 
3 Pending

我想在状态字段上设置一个默认值作为存储在record.status 中的当前状态,其中包含字符串表示,例如"Open".

如果我设置value="%{record.status} 它不起作用,因为那不是任何列表键。当我只有字符串表示可以使用时,有没有办法设置这个值?

或者我应该将record.status 重新设计为具有ID 和String 的对象?

【问题讨论】:

  • 标签的值必须是 key,它是关键部分而不是值部分。您可以使用 javascript 设置它,或者更好的是使用 Map 并从您拥有的值中查找键。
  • @bmorris591 这是一张地图,列表的格式是id,description。

标签: java jsp struts2 ognl


【解决方案1】:

您应该初始化newRecord.status 的值,该值应该是包含列表键值的单独属性。然后只需设置默认的value="%{record.status}"。当我说属性时,我指的是可通过 OGNL 访问的 bean 属性。

【讨论】:

  • 很公平,我也期待。
【解决方案2】:

您需要使用哈希而不是列表。通知

listKey="id" listValue="description"

然后你可以设置值=键

【讨论】:

  • 你能举个例子吗?从我的记录中,我只有一个字符串状态(例如'Open'),这是我需要设置为值的......所以我需要一些获取相关键的方法。
  • 您需要更改您的记录,以便您拥有一个键值对,而不仅仅是一个值。只需为列表中的每个项目提供一个密钥并将其存储在哈希中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-25
  • 1970-01-01
  • 2023-04-06
  • 2014-12-21
  • 2020-03-13
  • 2014-05-10
相关资源
最近更新 更多