Search code examples
javajspstruts2ognl

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?


Solution

  • 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.