Преобразование в JSTL (особенно при вызове методов) - PullRequest
0 голосов
/ 20 декабря 2010

Я нахожусь в процессе полного перехода на JSTL, и у меня возникла проблема со следующим скриптом, я уже преобразовал отображение переменных и условия в язык выражений (EL), но я не так уверен в том, как сделать это с помощью вызова метода: вот мой код JSP, который расположен перед разметкой html: UserDTO user = (UserDTO) session.getAttribute("user");</p> <pre><code> OrderDAO lnkOrder = new OrderDAO(); OrderDTO order = new OrderDTO(); CoverDAO lnkCover = new CoverDAO(); CoverDTO cover = new CoverDTO(); UpgradesDAO lnkUpgrades = new UpgradesDAO(); UpgradesDTO upgrades = new UpgradesDTO(); OrderAccessorieDAO lnkOrderAcc = new OrderAccessorieDAO(); List<OrderAccessorieDTO> orderAccessories = new ArrayList<OrderAccessorieDTO>(); GroupColorsDAO lnkColors = new GroupColorsDAO(); List<ColorDTO> ColorList = new ArrayList<ColorDTO>(); ColorList = lnkColors.getGroupColors(user.getGroup()); AccessoryDAO lnkAcc = new AccessoryDAO(); List<AccessoryDTO> groupAccessories = new ArrayList<AccessoryDTO>(); groupAccessories = lnkAcc.getGroupAccessories(user.getGroup()); ChangesDAO lnkChanges = new ChangesDAO(); List<ChangeDTO> orderChanges = new ArrayList<ChangeDTO>(); String CurrentOrder = request.getParameter("CurrentOrder"); if (lnkOrder.exists(CurrentOrder)) { order = lnkOrder.find(CurrentOrder); cover = lnkCover.find(order.getReferenceNumber()); upgrades = lnkUpgrades.find(order.getReferenceNumber()); orderAccessories = lnkOrderAcc.getOrderAccessories(order.getReferenceNumber()); orderChanges = lnkChanges.getOrderChanges(order.getReferenceNumber()); }

Поскольку вы можете видеть, что это в значительной степени объекты DAO и DTO, я знаю, что это можно сделать с помощью статических методов и создания пользовательских тегов, но это будет означать написание кода для каждого вызова метода, любой другой подход ?, предложения приняты. Краткое описание VIEW (разметка HTML) отображает детали данного заказа, название заказа извлекается из запроса get.

Также у меня есть еще один маленький вопрос, предположим, что я перенесу все на JSTL, придется ли мне импортировать соответствующие пакеты myDTO и myDAO для доступа к его получателям и установщикам для каждого DTO?

С уважением, Тристиан.

Ответы [ 2 ]

1 голос
/ 20 декабря 2010

«Путь JSTL» не имеет смысла без полного разделения между представлением и логикой, как в Подход модели 2 .

В подходе модели 2 вы перемещаете этот код в сервлет, который действует как контроллер для вашей страницы JSTL, и используете только JSP для разметки представления. В противном случае использование JSTL для принудительного разделения логики и представления с помощью JSTL было бы бессмысленным.

0 голосов
/ 21 декабря 2010

Единственное, что мне известно (грязное), это выставление методов в виде поддельной карты, то есть метода, имеющего подпись типа "Object getSomething (Object o)". Таким образом, вы можете передать аргумент, и он обходит навязанные правила. Нехорошо, но это работает.

Согласен с axtavt, хотя

...