user1277546
user1277546

Reputation: 8782

Struts 2 Select Tag Default Value

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

Answers (2)

Roman C
Roman C

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

Matt Westlake
Matt Westlake

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

Related Questions