ArrayList из ArrayList в теге Select в Struts2

Когда я пытаюсь отобразить тег <select> со списком, содержащим вложенные ArrayLists.

ArrayList<ArrayList<String>> districts=new ArrayList<ArrayList<String>>();

список массивов районов будет таким [ [0,"one"],[1,"two"],[2,"three"] ]

когда я использую тег Struts 2 <s:select>, как показано ниже:

<s:select label="District" headerKey="-1" headerValue="Select State"  list="districts" >

он будет генерировать такой код:

<select name="" id="">
    <option value="-1">Select State</option>
    <option value="[12, Anantapur]">[12, Anantapur]</option>
    <option value="[10, Chittoor]">[10, Chittoor]</option>
    <option value="[04, East Godavari]">[04, East Godavari]</option>
    <option value="[07, Guntur]">[07, Guntur]</option>
    <option value="[11, Kadapa]">[11, Kadapa]</option>
    <option value="[06, Krishna]">[06, Krishna]</option>
    <option value="[13, Kurnool]">[13, Kurnool]</option>
    <option value="[08, Prakasam]">[08, Prakasam]</option>
    <option value="[09, S.P.S Nellore]">[09, S.P.S Nellore]</option>
    <option value="[01, Srikakulam]">[01, Srikakulam]</option>
    <option value="[03, Visakhapatnam]">[03, Visakhapatnam]</option>
    <option value="[02, Vizianagaram]">[02, Vizianagaram]</option>
    <option value="[05, West Godavari]">[05, West Godavari]</option>
</select>

Но я хочу, чтобы 01,02,03... в качестве имен значений отображалось в теге select.

Мой Action будет таким:

package authentication;

import java.util.ArrayList;

import Testing.Database_Access;

import com.opensymphony.xwork2.ActionSupport;

public class Reports extends ActionSupport{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    //private String district;
    private ArrayList<ArrayList<String>> districts;
    
    public String dbDistricts(){
        districts=Database_Access.getDbDistricts("01");
        return SUCCESS;
        
    }

    public ArrayList<ArrayList<String>> getDistricts() {
        return districts;
    }

    public void setDistricts(ArrayList<ArrayList<String>> districts) {
        this.districts = districts;
    }

    

    /*public String getDefaultDistrict() {
        return "Select State";
    }

    public void setDistrict(String district) {
        this.district = district;
    }*/

    

}

а struts.xml вот так:

<action name="Reports" class="authentication.Reports" method="dbDistricts">
    <result name="success">/Reports.jsp</result>
</action>

Вот мой тег выбора Struts2:

<s:select label="District" headerKey="-1" headerValue="Select State"  list="districts" >

Я хочу, чтобы результат был таким:

<select name="" id="">
        <option value="-1">Select State</option>
        <option value="12"> Anantapur</option>
        <option value="10"> Chittoor</option>
        <option value="04"> East Godavari</option>
        <option value="07">Guntur</option>
        <option value="11">Kadapa</option>
        <option value="06"> Krishna</option>
        <option value="13">Kurnool</option>
        <option value="08">Prakasam</option>
        <option value="09"> S.P.S Nellore</option>
        <option value="01"> Srikakulam</option>
        <option value="03">Visakhapatnam</option>
        <option value="02"> Vizianagaram</option>
        <option value="05">West Godavari</option>
     </select>

person Kalishavali Shaik    schedule 04.03.2016    source источник
comment
Почему список из списка? Используйте карту.   -  person Aleksandr M    schedule 04.03.2016
comment
Прочитайте это.   -  person Roman C    schedule 04.03.2016
comment
Огромное спасибооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооо заооо за зааааа я преуспел в этом....................... ..наконец-то заработало с помощью Map ..................спасибо ...........   -  person Kalishavali Shaik    schedule 04.03.2016
comment
@KalishavaliShaik Вы можете поместить свои комментарии с благодарностью непосредственно человеку, который помог вам, под его ответом.   -  person Roman C    schedule 04.03.2016


Ответы (1)


Создайте новую карту, например

 private Map<String, String> districts;
 //getter here

И тег <s:select>

<s:select list="districts" headerKey="-1" headerValue="Select State"/> 

Подробнее о теге struts <s:select>:

Визуализация тега ввода HTML типа select.

person Roman C    schedule 04.03.2016
comment
@АлександрМ Что ты имеешь в виду? - person Roman C; 04.03.2016
comment
История редактирования хранится по какой-то причине. - person Aleksandr M; 04.03.2016
comment
@АлександрМ и что? Также ваш комментарий не был мне полезен, потому что вы отредактировали его после того, как я опубликовал этот ответ. - person Roman C; 04.03.2016
comment
Давайте продолжим обсуждение в чате. - person Roman C; 04.03.2016
comment
Вы должны пометить ответ как принятый, если вы не знаете, как это сделать, см. stackoverflow.com/tour - person Roman C; 05.03.2016