как добавить arraylist в Jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%=new Date() %>
<%
ArrayList al = new ArrayList();
al.add("C");
al.add("A");
al.add("E");
al.add("B");
al.add("D");
al.add("F");
%>
<select>
<option value="<%=al%>"></option>
</select>
</body>
</html>
Это мой код я хочу добавить Arraylist в раскрывающемся списке в Jsp я не знаю, как связать arraylist в HTML obtion или выпадающем списке, пожалуйста, помогите мне, я много пробовал, но не смог этого сделать .
4 ответов
редактировать
попробуйте это:
<%
ArrayList al = new ArrayList();
al.add("C");
al.add("A");
al.add("E");
al.add("B");
al.add("D");
al.add("F");
%>
<select>
<% for(int i = 0; i < al.size(); i++) {
String option = (String)al.get(i);
%>
<option value="<%= option %>"><%= option %></option>
<% } %>
</select>
</body>
</html>
вы должны использовать тегов JSTL <forEach>
перебирать элементы и добавлять их в select-option
. Вероятно, сделать List
атрибут области видимости . Заполнить List
объект в сервлете, установите его в request/session
объем и вперед request
к этому JSP. Помните, что вы можете заполнить List
в самом JSP и использовать pageScope
ссылаться на него, но это будет плохой дизайн, на мой взгляд.
<select>
<c:forEach var="element" items="${al}">
<option value="${element}">${element}</option>
</c:forEach>
</select>
здесь al
- это имя атрибута, который хранит the List
наверное request
или session
объем.
использовать JSTL в проекте:
скачать на JSTL 1.2 jar .
-
объявите taglib в файле JSP для ядро JSTL taglib.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
если вы хотите использовать только Скрипты(что плохо, конечно):
<%
List<String> al = new ArrayList<String>();
al.add("C");
..........
...........
%>
<select>
<% for(String element: al) { %>
<option value="<%=element%>"><%=element%></option>
<% } %>
</select>
приведенный выше код будет работать, если вы определили List
as List<String>
, или вам нужно бросить элемент в String
.
взгляните на тег в основной библиотеке JSTL.
сохраните arraylist в pageScope.myList и цикл следующим образом:
<select>
<c:forEach items="${pageScope.myList}" var="item" varStatus="status">
<option value='${item}'></option>
</c:forEach >
</select>
это предпочтительнее, чем использование скриптов, которые не считаются хорошей практикой