JN_newbie
JN_newbie

Reputation: 6062

set multiple default value in select tag in struts2

How can I set multiple default value using select tag in struts2. For e.g I have list of names with "nameA, nameB, nameC". I want that these three names will be selected by default. I can populate a list but struggling to set multiple default 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" 
></s:select>

Upvotes: 0

Views: 6351

Answers (2)

Aleksandr M
Aleksandr M

Reputation: 24396

You need to use value attribute of <s:select> tag. And because you are using bean to generate <s:select> values you need to create list of bean properties that you used in listKey attribute. In your case a list of id-s.

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

In order to select all use your list with OGNL projection selecting id-s in it.

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

Upvotes: 2

Andrea Ligios
Andrea Ligios

Reputation: 50193

Point to your List of names from the value attribute...

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

Upvotes: 0

Related Questions