Java Struts 2选择标记默认值
我正在使用Struts创建一个数据库记录编辑表单Java Struts 2选择标记默认值,java,jsp,struts2,ognl,Java,Jsp,Struts2,Ognl,我正在使用Struts创建一个数据库记录编辑表单 <s:select id="status" name="newRecord.status" list="statusTypes" listKey="id" listValue="description" label="Status:" value="" /><br /> 我想在status字段中设置一个默认值作为当前状态,该状态存储在记录中。status包含字符串表示形式,例如“Open” 如果我设置value=“%{r
<s:select id="status" name="newRecord.status" list="statusTypes" listKey="id" listValue="description" label="Status:" value="" /><br />
我想在status字段中设置一个默认值作为当前状态,该状态存储在记录中。status
包含字符串表示形式,例如“Open”
如果我设置value=“%{record.status}
它不起作用,因为那不是任何列表键。当我只有字符串表示法可使用时,有没有办法设置此值
或者我应该重新设计
record.status
,使其成为ID为且String
的对象吗?您需要使用散列而不是列表。注意
listKey="id" listValue="description"
然后,您可以设置value=key您应该初始化
newRecord.status
的值,该值应该是包含列表键值的单独属性。然后只需设置默认值=“%{record.status}”“
。当我说属性时,我指的是可以通过OGNL访问的bean属性 标签的值必须是键,键是键部分,而不是值部分。您可以使用javascript设置它,或者更好地使用映射
并从您拥有的值中查找键。@bmorris591它是一个映射,列表的格式为id、描述。您能举个例子吗?从我的记录中,我只有一个字符串状态(例如“打开”),这是我需要设置的值。。。所以我需要一些方法来获取相关的密钥。你需要更改你的记录,这样你就有了一个密钥、值对,而不仅仅是一个值。只要给列表中的每个项目一个键,并将其存储在hashFair中就足够了,我也期望如此。
listKey="id" listValue="description"