2012-11-27 112 views
1

我正在使用动态填充的多选下拉列表。如何从下拉列表中检索所有选定的值?我使用的是struts,这里是来自JSP的代码。检索多个选择值

<html:select= name="HForm" property="selPerson" multiple="multiple"> 
    <logic:iterate id="pplist" name="HForm" property="personList"> 
    <option value=<bean:write name="pplist" property="id"/>><bean:write name="pplist"  
     property="value"/></option> 
    </logic:iterate> 
</html:select> 

目前我尝试使用表单对象下面的方法来检索选择的值,但这返回从下拉列表中所有的值。我只需要用户选择的那些。

hform.getPersonList 

形式oject:HForm.java

private List personList=new ArrayList(); 
    private List selPerson=new ArrayList(); 

我尝试使用hmf.getselPerson();但是这将引发一个错误:

PropertyUtils E org.apache.commons.beanutils.PropertyUtilsBean invokeMethod Method invocation failed. java.lang.IllegalArgumentException: argument type mismatch

+1

我想你需要属性'selPerson'而不是'personList'的值? –

+0

我试过hmf.getSelPerson();但是这会抛出一个错误PropertyUtils E org.apache.commons.beanutils.PropertyUtilsBean invokeMethod方法调用失败。 java.lang.IllegalArgumentException:参数类型不匹配。 – dazzle

+1

getSelPerson()方法的返回类型是什么?它应该是'String []'多选下拉菜单。 –

回答

2

getSelPerson()方法的返回类型应该是String[]为多选落下。

0
<html:select property="selectedOption" styleId="exemple" multiple="multiple">     
     <html:optionsCollection property="availableOption" label="name" value="ref" /> 
</html:select> 

非常简单的方法...

  • selectedOption将是一个字符串[]宣布我的Java形式(与getter和setter)
  • availableOption将对象的ArrayList我想显示选择(这里显示名称)(也需要创建getter和setter)