![]() |
Модераторы: LSD, AntonSaburov Страницы: (29) « Первая ... 20 21 [22] 23 24 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]() ![]() ![]() |
|
diablero |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
Выбрал Apache Jakarta Commons FileUpload , поэкперементировал, позаливал файлы. В принципе его можно встроить в нашу архитектуру.
С такой задачей я не сталкивался, поэтому отсутствует представление как это должно быть. Осюда пару вопросов, какой визуальный хтмл редактор ты используешь, или посоветуешь? Чтобы под него сделать загрузку файлов. Парочку из бесплатных, работающих в ие, опере и фф я посмотрел, но в них нужно разбираться и разбираться. Картинки я решил хранить в ФС, а в базе пути. Имя брать то, с которым его загружают. Про механизм активации. Это про тот когда, после регистрации, пользователю приходит уведомление на почту, он переходит по ссылке и учетная запись активируется ![]() Про кодировку. И при переходе на утф-8, осталась таже проблема. Т.е. добавляешь статью, просматриваешь, все нормально. А вот при повторном редактировании кодировка рушится. -------------------- Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ... |
|||
|
||||
Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 66 Всего: 144 |
Итак, продолжаем.
Как я уже говорил, я сейчас сильно занят, но сериал все-таки нужно закончить. Заканчивать будет на мажорной ноте - изготовлением механизма постраничного просмотра. Это очень важный компонент по двум причинам. Во-первых, он нужен, в том или ином виде, практически на любом динамическом вебсайте. Во-вторых, на этом примере мы продемонстрируем возможности компонентного подхода в рамках созданного нами фреймворка. Прежде чем начать рассмотрение, предлагаю желающим высказаться в плане того, как мог бы быть устроен подобный механизм. Кроме того, хотелось бы услышать от diablero, как продвигается работа над вебсайтом в автономном режиме. Время пошло. -------------------- "If you want something done right, do it yourself" По секрету: выучить английский - реально! |
|||
|
||||
diablero |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
В автономном режиме, по такой же причмне как и у тебя, сделанно не много. Я подправил кое-какие недоработки в механизме входа и регистрации и все свободное время занимался вопросом загрузки файлов и визуальным хтмл редактором. Выбор мой остановился на FCKeditor'е. И его переработке под свои нужды, поэтому с головой повяз в яваскрипте.
Это все, сейчас, отойдет на второй план, сконцентрируюсь на мажорной ноте. ![]() Теротечиски механизм понятен, необходимо делить пост на части, организовать группу ссылок, позволяющих пользователю осуществить постраничный просмотр. А дальше, грубо говоря, темный лес. Нужно читать, думать... -------------------- Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ... |
|||
|
||||
Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 66 Всего: 144 |
Погоди, мы, похоже, о разных вещих говорим. Ты, по-видимому, имеешь в виду разбивание длинного текста на секции. А я - о просмотре списков. Ну, к примеру, как на Винграде организован просмотр топиков в разделе. Второе-то явно важнее. Так что вопрос остается открытым: как представляешь себе реализацию. -------------------- "If you want something done right, do it yourself" По секрету: выучить английский - реально! |
|||
|
||||
diablero |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
Эх, пол царства за умение не спать. Чуть было не написал, что не асилил.
![]() Офрмлю свою мысль завтра -------------------- Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ... |
|||
|
||||
diablero |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
Для постраничного просмотра, нам необходимы следующие данные:
-------------------- Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ... |
|||
|
||||
Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 66 Всего: 144 |
Хорошо, годидзе.
Теперь в соответствии с предложенным описанием создадим небольшой компонент. Назовем его (Surprise, surprise! ![]()
Кроме этого, нам понадобятся методы:
Плюс аксессоры для указанных полей. Пока задание на чистую арифметику. getTo() и getFrom() должны в зависимости от номера и размера страницы возвращать номер первого и последнего элемента страницы, чтобы их можно было использовать в надписях типа: Статьи с 21 по 30 Не забываем про краевые случаи, "человеческую" нумерацию от 1 (а не программистскую от нуля), а также теоретическую возможность выхода page за пределы total (например, если в момент вывода страницы было 71 статей, и последний линк, соответственно, указывал на 8-ю страницу, а потом одну статью удалили, юзер кликнул на последнюю, а там ничего нет). Кроме этого, нам в дальнейшем понадобится программное представление HTML-ссылки, поэтому начнем с простого класса Link с конструктором Link(String text, String href) и методом toString(), который возвращает код ХТМЛ. Желательно все это с тестовым кодом и результатами тестов. Просю. -------------------- "If you want something done right, do it yourself" По секрету: выучить английский - реально! |
|||
|
||||
diablero |
|
||||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
Готово:
Результат теста:
Про Link не допонял, поэтому пока так:
Это сообщение отредактировал(а) diablero - 19.9.2007, 20:01 -------------------- Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ... |
||||||||
|
|||||||||
Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 66 Всего: 144 |
Ага, знач разбираем.
По названию: неужели PageViewer лучше чем Pager? Это ведь у нас не просмотрщик, а именно разбиватель на страницы. Если быть уж совсем дотошным, процесс разбиения на страницы на техническом жаргоне называется pagination, Но нередко встречается и просто paging. Соответственно, компонент, который этим занимается, логично было бы назвать или Paginator, или Pager. Я предложил то что попроще, а ты выбирай, что тебе больше нравится. Но PageViewer убери. Далее, удобно было бы завести такие конструкторы: Pager(int pageNum) и Pager(int pageNum, int pageSize). Про Link ты все понял правильно, только реализовал немного небрежно. Так, в случае null-значения одного из аргументов переменной лучше присваивать пустую строку. А то потом при анализе логов будешь удивляться, с чего это народ у тебя пытается попасть в /null. Подумаешь еще, что Упячка началась ![]() А теперь самое главное. Основная функция этого компонента - это выдавать список линков на страницы. Что-нибудь типа такого:
Чтобы ее реализовать, нужно прежде всего решить для себя, как будут выглядеть УРЛы страниц. Я предлагаю такой формат: <base-url>[&page=<page-number>][&size=<page-size>] Например:
Отсюда следующее задание:
Ждем-с. -------------------- "If you want something done right, do it yourself" По секрету: выучить английский - реально! |
|||
|
||||
diablero |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
Как ты смотришь на то, чтобы в линк все время подставлять size, чтобы убрать лишние проверки? Добавлено через 7 минут и 10 секунд А чего это такое? Баг? -------------------- Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ... |
||||
|
|||||
Stampede |
|
||||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 66 Всего: 144 |
Да пуфик, пускай будет. Замечания:
Ну как, эхфектно? Ну и все, и остается только немного навести глянец. Следующее задание такое: продумай и реализуй способ сделать так, чтобы при большом количестве страниц выводилось только по N ссылок слева и справа от текущего номера страницы. При этом чтобы всегда был доступ к первой и последней страницам. N пусть задается сеттером, имя для переменной придумай сам. Поехали. Добавлено через 3 минуты и 25 секунд Это скорее заболевание, вызываемое укусом этого бага: http://upyachka.ru/ ![]() -------------------- "If you want something done right, do it yourself" По секрету: выучить английский - реально! |
||||
|
|||||
diablero |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
Замечания внял и исправил. Завтра начну работу над новым заданием, и все выложу.
-------------------- Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ... |
|||
|
||||
diablero |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
да, мне нравиться ![]()
Наверно еще нужно будет добавить переменную, чтобы можно было задавать при каком количестве использовать сокращенный вид -------------------- Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ... |
|||
|
||||
Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 66 Всего: 144 |
diablero, что за странное "обрезание"? Ты что, первый день в инете?
Ты можешь сделать вот такой вывод (например, принимая pageCount = 12, currentPage = 7 и sidePages = 2)? 1 ... 5 6 7 8 9 ... 12 Так чтобы при смыкании с крайними значениями (например, при currentPage = 11) получалось без лишнего многоточия: 1 ... 9 10 11 12 Ну посмотри хотя бы как на Винграде сделано. Или там в гугле. -------------------- "If you want something done right, do it yourself" По секрету: выучить английский - реально! |
|||
|
||||
diablero |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
Да...ступил я не слабо. Алгоритм то не сложный, ща перепишу.
Добавлено через 10 минут и 41 секунду Во..как в Винграде
-------------------- Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |