
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
03.07.2012, 14:30:13
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
Добрый день. Как правильно добавить значения в корзину? По чекбоксам, которые отметил пользователь, происходит поиск и извлечение этих записей из бд по id, после чего я в сервлете заношу их в сессию и таким образом каждый раз, когда покупатель добавляет новый товар (не зависимо от того есть уже что то в корзине или нет) сессия полностью перезаписывает данные. Не понимаю, как добавить значения а не перезаписывать их? Сохраняю полученные из бд данные в ArrayList: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Делать что то вроде еще одного списка, в который добавлять данные к старым новый выбраный товар, и потом уже его перезаписывать в сессию? но есть же способ проще и более правильный? Можете еще поделится ссылкой или ли-рой по сессиям, потому что в документации есть методы и-фейса, но нет конкретного ничего про добавление данных... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 14:58:16
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
Вы хоть пробовали это компилировать? ArrayList<DiskBean> ShowCart = new ArrayList<DiskBean>(); ShowCart = new DiskBean(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 15:08:09
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
Да, немного переделал. Но ошибка в том месте, где Вы указали. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Как правильно считать данные из сессии в переменную? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 15:11:57
|
|||
|---|---|---|---|
httpsession cart |
|||
|
#18+
Приведением типов. Ты родом из VB? IsCart, ShowCart - это переменные "не по-джавовски" ... даже IDE обычно варнинги дают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 15:12:51
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
При чем здесь "как правильно считать"? Определитесь что именно вы хотите хранить в сессии? У вас это или DiskBean IsCart, или ShowCart, или tempList. Дайте внятные имена переменным. Используйте Java нотацию для переменных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 15:16:22
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
Эм... В документации указано getAttribute - Returns:the object with the specified name Как правильно привести тип? Код: java 1. почему не правильно? Я родом из неоткуда, всего по чуть - чуть было, как правильно именовать переменные по джавовски? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 15:22:39
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
Blazkowicz, Код: java 1. 2. 3. 4. то я добавляю атрибут ArrayList<DiskBean> ShowCart если сессия уже была, то значит товар уже какой то выбран, к нему нужно дабавить новый выбраный товар, а не перезаписывать. Я в начале темы объяснил, что нужно занести в сессию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 15:34:19
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
Блин, ну простейшая же логика. Что вы за ерунду в каждом посте пишете. Код: java 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 15:45:01
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
Blazkowicz, я видел этот пример. Извините, но я не понимаю Item и Cart. Item - мои новые данные, здесь считанные Код: java 1. и Cart - тот ArrayList, который вносится в сессию? Я пытаюсь сделать так же, но на самом начале уже не правильно Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 15:49:13
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
Типы данных Item и Cart откуда берутся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 15:52:47
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
BykaИзвините, но я не понимаю Item и Cart Нет слов. Давайте я за вас сделаю замену. Код: java 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 15:55:30
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
BykaТипы данных Item и Cart откуда берутся? Вы их напишите, потому что они инкапсулируют реализацию. Почему любой предмет в вашем магазине это DiskBean. Т.е. вы зарарее закладываете невозможность продавать что либо другое? Почему showCart это всегда List? А если там нужны будут дополнительные данные помимо товаров? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 16:00:12
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
Blazkowicz, благодраю! Но вот здесь проблема возникала и у меня Код: java 1. - cannot convert from Object to List<DiskBean> пробую приведением типов Код: java 1. Но тогда ошибка при попытке добавить товар в корзину ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 16:04:36
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
Blazkowicz, авторПочему любой предмет в вашем магазине это DiskBean Тестовое задание, магазин дисков. Правильно организовать интерфейс например Cart - в котором будут методы для товаров, а в бинах реализовывать это все? т.е. каждый бин - определенный тип товара со своими особенностями? Типа там диски, журналы, плееры.. авторПочему showCart это всегда List? А если там нужны будут дополнительные данные помимо товаров? Вы имеет ввиду например количество заказанного товара или наличие его на складе? Как правильно организовать этот момент? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 16:12:04
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
BykaList<DiskBean> cart = (List<DiskBean>) session.getAttribute("cart"); Но тогда ошибка при попытке добавить товар в корзину Какая ошибка и как она связана именно с этой строкой? В ошибке четко указано что послужило её причиной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 16:18:53
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
BykaТестовое задание, магазин дисков. База данных не в XML, случайно? BykaПравильно организовать интерфейс например Cart - в котором будут методы для товаров, а в бинах реализовывать это все? т.е. каждый бин - определенный тип товара со своими особенностями? Типа там диски, журналы, плееры.. Товар это Товар, а Корзина это Корзина - внутри они реализуют то что нужно вашему приложению. Это называется инкапсуляция. В вашем коде, Товар это всегда Диск - т.е. ваш Сервлет или Контроллер должен знать что товар это всегда диск. Т.е. продавать другие товары он не способен. А Корзина это всегда список Дисков. Она не инкапсулирет логику корзины в вашем случае. Это не совсем ООП. BykaВы имеет ввиду например количество заказанного товара или наличие его на складе? Как правильно организовать этот момент? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 16:22:28
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
Blazkowicz, threw exception java.lang.NullPointerException Но это там где я совсем по быдлокодерски делаю Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Если в методе, то нужно Код: java 1. а я возращаю из бд данные в виде ArrayList т.е. и в метод я могу отправить свой список и сессию... делаю так Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. та же ошибка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 16:28:48
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
Подозреваю что вас не возьмут. Что такое NullPointerException уже читали? В какой строке происходит смотрели? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 16:36:45
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
Blazkowicz, я пока и не иду. Это для себя выполняю. Базу делаю на Mysql Вот ShowCart из DiskDAO Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. Исключение возникает когда объект имеет значение null при попытке его использовать. В строке Код: java 1. А значит либо атрибут еще не был создан (но мы потом это обрабатываем) или проблемы в приведении типов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 16:38:04
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
NPE в строке ArrayList<DiskBean> cart = (ArrayList<DiskBean>) session.getAttribute("cart"); может означать одну единственную вещь. session у вас null. Пошаговую отладку пробовали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 16:42:26
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
Blazkowicz, сейчас сделаю пошаговую отладку, в этой строке предупреждение Type safety: Unchecked cast from Object to ArrayList<ProjectBean>, это в плане низходящего преобразования проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 16:44:22
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
BykaUnchecked cast from Object to ArrayList<ProjectBean>, это в плане низходящего преобразования проблема? Типа того. Компилятор предупреждает вас что он не может гарантировать что вы из сессии получите именно ArrayList, соответственно есть вероятность отгрести ClassCastException. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.07.2012, 16:59:52
|
|||
|---|---|---|---|
|
|||
httpsession cart |
|||
|
#18+
Blazkowicz, я не внимательный, очень! Код: java 1. 2. Теперь работает. Одинаковый товар повторяется в списке, это нужно переменную добавить в бине, что бы ввести количество единиц заказанного товара? Спасибо огромное!!! Ух, тут нужно все переписать заново что бы соблюдались принципи ООП ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2131427]: |
0ms |
get settings: |
17ms |
get forum list: |
28ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
60ms |
get topic data: |
23ms |
get forum data: |
6ms |
get page messages: |
96ms |
get tp. blocked users: |
3ms |
| others: | 300ms |
| total: | 549ms |

| 0 / 0 |
