2011-04-07 51 views
0

我有一个列表框在我的输入屏幕(在struts 2中的Jsp),我也想在输出屏幕上显示选择的项目作为列表框。我尝试使用预选选项,但我只能选择1个值。struts 2 listbox多预选

这是我的输入画面列表框代码行:

<s:select multiple="true" name="color" label="Color" size="4" list="#{'1':'blue','2':'pink','3':'green','4':'purple','5':'crimson','6':'indigo'}" /> 

这是我的输出屏幕的列表框代码行:

<s:select multiple="true" name="colorN" label="ColorN" size="4" list="#{'1':'blue','2':'pink','3':'green','4':'purple','5':'crimson','6':'indigo'}" value="%{color}"/> 

回答

2

属性S的描述:选择多个

创建一个多重选择。如果通过值属性将值作为数组收集(适当类型)传递,则标记将预选多个值。如果密钥中的一个等于在集合或数组的值中的一个它时便会选择

阵列:{4,6}

<s:select 
    name="colorN" 
    multiple="true" 
    size="6" 
    list="#{1:'blue', 2:'pink', 3:'green', 4:'purple', 5:'crimson', 6:'indigo'}" 
    value="%{{4, 6}}" 
/> 

收集:颜色

public List<Integer> getColors() { 
    return Arrays.asList(4, 6); 
} 

_

<s:select 
    name="colorN" 
    multiple="true" 
    size="6" 
    list="#{1:'blue', 2:'pink', 3:'green', 4:'purple', 5:'crimson', 6:'indigo'}" 
    value="colors" 
/>