Форум программистов, компьютерный форум, киберфорум
Наши страницы

Java EE (J2EE)

Войти
Регистрация
Восстановить пароль
 
di109
2 / 2 / 0
Регистрация: 01.04.2012
Сообщений: 110
#1

Как правильно отделить логику от вида - Java EE

25.12.2012, 22:06. Просмотров 777. Ответов 1
Метки нет (Все метки)

Есть таблица в БД состоящая из четырех столбцов н.п.

ID SURNAME NAME PHONE
1 Петров Петя 1111
2 Иванов Вова 2222

Данные этой таблицы надо вывести в JSP странице, в таком виде:

1 Петров
Петя
1111

2 Иванов
Иван
2222

Я решил это так:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    public List shou(Connection con) {
        Connection conect = null;
        List message=new LinkedList();
        try {
            conect = con;
            PreparedStatement st=conect.prepareStatement("select * from.......");
            ResultSet rs=st.executeQuery();
            while(rs.next())
            {
                // Таким образом решил добиться нужного результата
                message.add(rs.getString(1)+"&nbsp;"+rs.getString(2)+"<BR>"+rs.getString(3)+"<BR>"+rs.getString(4));
            }
 
        } catch (SQLException e) {
            log.info("Ошибка!");
        }
        return message;
    }
А вывожу так:

Java
1
2
3
4
    list = m.shou(conect);
    for(int j=0; j<list.size(); j++){
        out.println(list.get(j).toString());
        }
Но так не подходит надо все теги (&nbsp; <BR>) перенести в слоя представления (JSP)!!!

В голову пришло только такое:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    public List shouID(Connection con) {
        Connection conect = null;
        List message=new LinkedList();
        try {
            conect = con;
            PreparedStatement st=conect.prepareStatement("select * from.......");
            ResultSet rs=st.executeQuery();
            while(rs.next())
            {
                // ID
                message.add(rs.getString(1));
            }
 
        } catch (SQLException e) {
            log.info("Ошибка!");
        }
        return message;
    }
И таких методов в данном случае будет 4 то есть (shouID, shouSURNAME, shouNAME, shouPHONE), каждый будет хранить только свой данные.

В JSP тогда как то так (то есть видом буду управлять только здесь в JSP)
Java
1
2
3
4
5
    listID = m.shouID(conect);
        listSURNAME = m.shouSURNAME(conect);
    for(int j=0; j<list.size(); j++){
        out.println(listID.get(j).toString()+"&nbsp;"+listSURNAME .get(j).toString());
        }
Но вдруг таблица будет состоять из множества столбцов н.п. 15, мне что тогда 15 почти одинаковых методов делать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2012, 22:06
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как правильно отделить логику от вида (Java EE):

Инкапсуляция или как правильно отделить логику - C#
Делаю проект в WPF(но это не важно). Вопрос таков: может ли класс где обработчики всех событий формы, иметь переменную(другой класс, в...

Как правильно реализовать логику программы? - Basic4Android
Здравствуйте! Хочу реализовать такую логику программы: телефон - стартовая активность А -&gt; активность Б и т. д.; планшет: стартовая...

Как правильно отделить пакет библиотеки от тестов? - Haskell
Поделитесь, пожалуйста, опытом: кто как организует проект с тестами? Пока пишу тесты прямо в коде и запускаю их из main. Но скоро...

Как правильно составить логику приложения (игра)? - C#
Народ, выручайте советом! Я снова застрял на очередной задаче... Вот текст: Я застрял на этапе структурирования приложения....

Symfony 2: как правильно организовать бизнес-логику? - PHP
Всем привет! Вот я недавно начал один проект на Symfony 2 и сразу же столкнулся одной проблемой - организацией бизнес-логики. Например, у...

Игра "Лабиринт". Отделить логику от интерфейса - C#
Привет всем, извините за возможно глупый вопрос, но что значит отделить логику от интерфейса. Пишу игру лабиринт, компьютер должен найти...

1
kmi
55 / 55 / 11
Регистрация: 26.04.2010
Сообщений: 173
27.12.2012, 13:45 #2
Простейшее решение: метод запрашивает из БД данные и возвращает список объектов. Этот список объектов обрабатывается в самой jsp. Каждый объект содержит все нужные поля. А какие поля выводить, решает jsp.

Общая архитектура обычно сложнее: создаётся слой объектов доступа к данным (DAO), отвечающих за взаимодействие с БД; создаётся слой UI (не важно, какой: консоль, окна, web, м.б. web-сервис... - у Вас Web-интерфейс на основе jsp); между ними - слой объектов бизнес-логики. Это в двух словах.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2012, 13:45
Привет! Вот еще темы с ответами:

Как правильно задать переменную вида 0x05AF2722 - C#
честно плохо понимаю как правильно задать переменную или что то в том роде.. label2.Text =...

Как правильно построить три вида модели? - AutoCAD

Правильно отделить методы - C#
Как правильно отделить методы, чтобы программа постепенно выполняла 2 действий? Пример: в 1 блоке выполнение программы на нахождение...

Как правильно решать определенные интегралы такого вида - MathCAD
Здравствуйте, не подскажете как правильно решать определенные интегралы такого характера в маткаде?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru