2012-11-27 185 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)