2013-07-23 5 views
0

Как установить несколько значений по умолчанию, используя тег select в struts2. Например, у меня есть список имен с «nameA, nameB, nameC». Я хочу, чтобы эти три имени были выбраны по умолчанию. Я могу заполнить список, но пытаюсь установить несколько значений по умолчанию.установить несколько значений по умолчанию в теге select в struts2

<s:select id  = "name" 
      size  = "5" 
      name  = "nameForm.nameIds" 
      cssStyle = "width:365px;margin-top:10px; margin-bottom:10px;" 
      list  = "name.nameList" 
      listKey = "id" 
      listValue = "displayName" 
      multiple = "true" 
></s:select> 

ответ

0

точки к вашему List имен из атрибута value ...

<s:select id  = "name" 
      size  = "5" 
      name  = "nameForm.nameIds" 
      cssStyle = "width:365px;margin-top:10px; margin-bottom:10px;" 
      list  = "name.nameList" 
      listKey = "id" 
      listValue = "displayName" 
      multiple = "true" 
      value  = "%{yourList}" 
></s:select> 
+0

Спасибо, Андреа. Но я хочу также подчеркнуть, что они выбраны. Скажите, пожалуйста, как я могу это сделать? –

+0

Например, например, когда я нажимаю на значение, оно выделяет его, но как я могу сделать это в приведенном выше случае, не нажимая его. Я хочу показать, что они выделены по умолчанию. Спасибо –

+0

Точно как выше; yourList должен быть списком идентификаторов выбранных имен, заполненных в Action, и отображаться с помощью getter; Я предположил, что это уже ясно: | –

2

Вы должны использовать value атрибут <s:select> тега. И поскольку вы используете bean для генерации значений <s:select>, вам нужно создать список свойств bean, которые вы использовали в атрибуте listKey. В вашем случае список id-s.

<s:set var="idsList" value="{'id1','id2','id3'}" /> 
<s:select list="name.nameList" listKey="id" listValue="displayName" multiple="true" value="%{#idsList}" /> 

Для того, чтобы выбрать все, используйте ваш список с проекцией OGNL, выбрав id-s в нем.

<s:select id  = "name" 
      size  = "5" 
      name  = "nameForm.nameIds" 
      cssStyle = "width:365px;margin-top:10px; margin-bottom:10px;" 
      list  = "name.nameList" 
      listKey = "id" 
      listValue = "displayName" 
      multiple = "true" 
      value  = "%{name.nameList.{id}}" 
></s:select> 
+0

Каждый параметр мог имеют несколько значений, поэтому их можно установить по умолчанию. +1, не проверено. –

+0

@Java_NewBie: Также см. Этот вопрос http://stackoverflow.com/q/14565387/1700321. –

Смежные вопросы