2013-03-08 3 views
1

Struts를 사용하여 데이터베이스 레코드 편집 양식을 만들고 있습니다.Struts 2 Select Tag 기본값

<s:select id="status" name="newRecord.status" list="statusTypes" listKey="id" listValue="description" label="Status:" value="" /><br /> 

예 목록 :

Status' list: 
1 Open 
2 Closed 
3 Pending 

내가 문자열 표현을 포함, 예를 들어 record.status에 저장되어있는 현재 상태로 상태 필드에서 기본값을 설정하려면 "Open".

value="%{record.status}으로 설정하면 목록 키가 아니기 때문에 작동하지 않습니다. 문자열 표현만으로 작업 할 때이 값을 설정할 수있는 방법이 있습니까?

또는 record.status을 ID가 String 인 개체로 재 설계해야합니까?

+1

태그의 값은 값 부분이 아닌 키 부분 인 _key_가되어야합니다. javascript를 사용하여 설정하거나 더 나은 방법으로'Map'을 사용하여 가지고있는 값에서 키를 검색 할 수 있습니다. –

+0

@ bmorris591지도입니다. 목록의 형식은 id, description입니다. – user1277546

답변

1

당신은 목록 키 값을 포함하는 별도의 특성 있어야 newRecord.status의 값을 초기화한다. 그런 다음 기본값 인 value="%{record.status}"을 설정하면됩니다. 내가 속성을 말할 때 나는 OGNL을 통해 액세스 할 수있는 빈 속성을 의미합니다.

+0

충분히 공정하게, 나는 그만큼 기대했습니다. – user1277546

1

목록 대신 해시를 사용해야합니다.

listKey="id" listValue="description" 

그런 다음 당신이 값을 설정할 수 있습니다 주목 = 키

+0

예를 들려 줄 수 있습니까? 내 기록에서 나는 값으로 설정해야하는 문자열 상태 (예 : '열기') 만 가지고 있으므로 관련 키를 가져 오는 방법이 필요합니다. – user1277546

+0

값 대신 키, 값 쌍이 있도록 레코드를 변경해야합니다. 그냥 목록에있는 각 항목에 키를주고 해시로 저장하십시오. –