Reputation: 21
When I am trying to display <select>
tag with list contains nested ArrayList
s.
ArrayList<ArrayList<String>> districts=new ArrayList<ArrayList<String>>();
districts array list will be like this [ [0,"one"],[1,"two"],[2,"three"] ]
when I am using Struts 2 <s:select>
tag like below:
<s:select label="District" headerKey="-1" headerValue="Select State" list="districts" >
it will generating code like this :
<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>
But I want 01,02,03...
as value names as to display in select tag.
My Action
Will be Like This:
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;
}*/
}
and struts.xml
is like this:
<action name="Reports" class="authentication.Reports" method="dbDistricts">
<result name="success">/Reports.jsp</result>
</action>
Here is my Struts2 select tag:
<s:select label="District" headerKey="-1" headerValue="Select State" list="districts" >
I want the result like this:
<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>
Upvotes: 1
Views: 1022
Reputation: 1
Make a new map like
private Map<String, String> districts;
//getter here
And the <s:select>
tag
<s:select list="districts" headerKey="-1" headerValue="Select State"/>
Learn more about struts <s:select>
tag:
Render an HTML input tag of type select.
Upvotes: 1