Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to assign arraylist to select option in jsp

Tags:

html

jsp

I have the list:

ArrayList list = new ArrayList();

I write this list select option:

<td>
    <select name="database1">
        <option value="" selected>select</option>
        <%
        for(int i=0;i<list.size();i++) {
            Field=list.get(i).toString();
        %>
        <option value="<%=Field %>"><%=Field %></option>
        <%} %>
    </select>
</td>

So my requirement is without using for loop. We directly write list in select option.

like image 1000
suresh manda Avatar asked Jan 12 '23 04:01

suresh manda


1 Answers

It's not recommended to use java code inside jsp. You should try to avoid it.

The approach that needs to be followed in your case, is to first set the Arraylist as an attribute in the servlet that is calling the jsp page.

Servlet Code

ArrayList databaseArrayList = new ArrayList();
...
request.setAttribute("databaseList", databaseArrayList);     

Then, in the JSP code, use jstl to iterate through the values of the list to populate the select options.

JSP Code

<select name="database1">
  <c:forEach items="${databaseList}" var="databaseValue">
    <option value="${databaseValue}">
        ${databaseValue}
    </option>
  </c:forEach>
</select>

I've written an article for looping over HashMap and ArrayList in JSP

like image 57
Sorter Avatar answered Jan 22 '23 23:01

Sorter