Reputation: 8782
I'm creating a database record edit form using Struts.
<s:select id="status" name="newRecord.status" list="statusTypes" listKey="id" listValue="description" label="Status:" value="" /><br />
Example list:
Status' list:
1 Open
2 Closed
3 Pending
I want to set a default value on the status field as the current status which is stored in record.status
which contains the string representation e.g. "Open"
.
If I set value="%{record.status}
it doesn't work because that's not any list key. Is there a way I can set this value when I only have the string representation to work with?
Or should I redesign record.status
to be an object with ID and String
?
Upvotes: 1
Views: 8097
Reputation: 1
You should initialize the value of the newRecord.status
that should be a separate property that contains the list key value. Then simply set the default value="%{record.status}"
. When I said the property I mean the bean property that is accessible via OGNL.
Upvotes: 1
Reputation: 3651
You need to use a hash instead of a list. Notice
listKey="id" listValue="description"
Then you can set the value = the key
Upvotes: 1