Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Struts 2选择标记默认值_Java_Jsp_Struts2_Ognl - Fatal编程技术网

Java Struts 2选择标记默认值

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

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

<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"