检索多个选择值

时间:2012-11-27 10:05:59

标签: java jsp servlets struts

我正在使用动态填充的多选下拉列表。如何从下拉列表中检索所有选定的值?我正在使用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

表格对象: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

2 个答案:

答案 0 :(得分:2)

对于多选下拉列表,getSelPerson()方法的返回类型应为String[]

答案 1 :(得分: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)