| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > значения из базы выводим в таблицу в браузере. Как |
| Автор: underW 22.2.2010, 21:39 |
| Суть задачи: есть у нас БД. Необходимо реализовать тонкий клиент, который будет выводить в браузер таблицу записей какой то таблицы из БД. Казалось бы - что может быть проще? Но это еще не все, необходимо так же обеспечить возможность редактирования таблицы - изменения ячеек, добавление новых строк, удаление существующих строк. Все эти изменения с таблицей которые мы делаем должны отображаться с таблицей в БД, то есть - удалили мы строку из таблички в браузере - сразу же пошел запрос к базе на на внесение изменений и в ней. Еще в чем проблема - так это в том, что интерфейс таблицы должен быть максимально хорошим. Вот например таким: http://www.extjs.com/examples/pages/grid/roweditor.html . А сам мой вопрос состоит вот в чем: прошу помощи в проработке логики, как мне все это продумать? как бы эту задачу решали Вы? Мне не нужно, что бы кто то это сделал за меня, я просто прошу подсказки, как мне реализовать поставленную задачу? Я вот наткнулся на фреймворк Ext GWT. По сути с его помощью можно очень легко реализовать интерфейс приложения. Ну это первое мое такое впечатление, возможно оно ошибочно. Но с Ext GWT я наталкиваюсь на то, что Ext GWT сам по себе переводит Java код в JavaScript. А на JavaScript как я смогу отправить запрос к базе? ну, никак. вот и все, приехали. Во общем, ребят, помогите. |
| Автор: MaxPayneC 22.2.2010, 21:46 |
| Если это полная постановка задачи, то http://www.phpmyadmin.net/ |
| Автор: underW 22.2.2010, 21:57 |
| phpMyAdmin - это PHP, а не Java. К тому же нужно не найти инструмент - а сделать его самому. |
| Автор: MaxPayneC 22.2.2010, 22:28 |
| А зачем делать инструмент самому, когда есть готовый? |
| Автор: Exai1e 22.2.2010, 23:07 |
| MaxPayneC, видимо в целях самообучения |
| Автор: underW 22.2.2010, 23:33 |
| сообщения от MaxPayneC больше смахивают на стеб. |
| Автор: garbuz 23.2.2010, 01:09 |
| underW, так в чем задача? Реализовать database client на java или написать приложение, обеспечивающее поддержку CRUD операций? |
| Автор: iluvatar 25.2.2010, 12:00 |
| Если будет работа с таблицей в браузере (особенно если без кнопок, а в "реал-тайме"), то будет много JavaScript'a - от формирования соотв. запросов и до визуального удаления столбцов. Если не требуется писать самому, то рекомендую jqGrid. В противном случае, давайте разбираться. При помощи JS вы не сможете выполнить запрос к БД, но можете попросить того, кто сможет - сервлет. Т.е. создаете сервлет, который выполняет какой-то запрос. Например, надо удалить какую-то запись - 1. Создаете сервлет DeleteRecord, который берет из запроса один параметр "id", мепите его на адрес "/delete" 2. На клиенте при нажатии на какую-то кнопку/ссылку, формируете URL вида "/delete?id=3" и скармливаете его скажем аяксу Если говорить о логике приложения, то я бы делал так - есть набор действий (добавить/удалить/изменить). Есть какой-то элемент контроля этих действий (кнопка/ссылка) При касании к этому элементу формируется URL, отправляется запрос на сервер. В этот момент на клиенте висит картинка loading. Запрос приходит на сервер, там обрабатывается и шлется в обратную простейший буленовский объект (при помощи xml, json) Этот объект парсится на клиенте и если все прошло успешно - убираем loading и начинаем отрисовывать выполненное действие - т.е. визуально модифицируем таблицу (добавляем, удаляем, меняем строку) |
| Автор: underW 25.2.2010, 17:34 |
| iluvatar, спасибо. Я как раз так все и продумал. И ваши слова в данном случае являются лишь подтверждением того, что я на правильном пути, спасибо Вам большое. Интерфейс действительно нет необходимости рисовать самому, для таких целей я решил воспользоваться ExtJS, в нем очень хорошо проработаны функции работы именно с таблицами, хотя и предложенный Вами jqGrid обладает не худшей функциональностью, спасибо. |
| Автор: iluvatar 27.2.2010, 12:08 |
| Если вопрос закрыт - отметьте тему как решенную |