Итерация ArrayList в JSP
У меня есть два arraylists в моем classе, и я хочу отправить его в JSP, а затем перебрать элементы в arraylist в выбранном теге.
Вот мой class:
package accessData; import java.util.ArrayList; public class ConnectingDatabase { ArrayList food=new ArrayList(); food.add("mango"); food.add("apple"); food.add("grapes"); ArrayList food_Code=new ArrayList(); food.add("man"); food.add("app"); food.add("gra"); }
Я хочу итерации food_Code как опции в теге select и еде как значения в теге Select в JSP; мой JSP:
- Как передавать данные из JSP в сервлет при отправке HTML-формы
- Где можно загрузить JSTL jar
- В чем разница между знаками #,% и $ в тегах Struts?
- Как передать символы Юникода как JSP / Servlet request.getParameter?
- Окончательная версия Java-версии (J2EE, Java EE, Servlet, JSP, JSTL)
// Don't know how to iterate
Любая часть кода высоко оценена. Заранее спасибо 🙂
- Помогите получить изображение с сервлета на страницу JSP
- JSP для создания таблицы Excel (XLS) для загрузки
- Как сделать if-else в Тимелеафе?
- Добавление внешних ресурсов (CSS / JavaScript / images и т. Д.) В JSP
- Как получить домен и имя приложения?
- Заполнение каскадных выпадающих списков в JSP / Servlet
- Статус HTTP 404 - запрашиваемый ресурс (/ имя_проекта /) недоступен
- Как получить доступ к атрибуту запроса, установленному сервлетом в JSP?
Было бы лучше использовать java.util.Map
для хранения ключа и значений вместо двух ArrayList
, например:
Map foods = new HashMap(); // here key stores the food codes // and values are that which will be visible to the user in the drop-down foods.put("man", "mango"); foods.put("app", "apple"); foods.put("gra", "grapes"); // if this is your servlet or action class having access to HttpRequest object then httpRequest.setAttribute("foods", foods); // so that you can retrieve in JSP
Теперь, чтобы перебрать карту в JSP, используйте:
Или без JSTL:
Чтобы узнать больше об итерации с JSTL, это хороший ответ SO, и вот хороший учебник о том, как использовать JSTL в целом.
${foodItem.propertyOfBean}
Это решит вашу проблему.
Вы можете использовать JSTL foreach.
${item}
Вам также необходимо импортировать kernel JSTL:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Существует несколько способов сделать это (с некоторыми изменениями в вашей схеме)
Использование JSTL:
-
Создайте bean-компонент с двумя полями как
food
иfood_code
общественный class Food {private String food; private String food_code; // Сеттер / геттеры следует за}
Теперь ansible на странице аррайалист будет списком Food
. В коде JSP вы можете использовать следующее:
Если вы используете распорки:
Здесь list
– это ключ объекта, который будет использоваться для извлечения списка из контекста (страница / сеанс)
Вы можете получить список в JSP как