Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Java Bean + адресная строка, Вывод параметров адресной строки 
:(
    Опции темы
Снусмумрик
Дата 13.2.2009, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 1.2.2009

Репутация: нет
Всего: нет



Суть вопроса в следующем: Каким образом можно получить параметр из адресной строки и запихнуть его в переменную JavaBean-а ?

Тоесть есть скажем некоторый бин, назовем его к примеру jBean.java в этом бине есть функция которой требуеться передать какой либо параметр из адресной строки. Скажем адресная строка есть ?parametr=123
так вот эти 123 должен получить цикл в jBean.java

к примеру 

Код

int id = parametr;
int res;

  for(int count=id; count < productlist.size(); count++)
                            { res +=count; }


Есть ли возможность использовать каким либо образом функию doGet в бине
Скажу сразу что сервлет запускаеться нормально и этот параметр получаю, но мне надо получить эту переменную именно в бине.
Может есть возможность импортировать например сервлет с функцией doGet в бин а потом ее там как либо вызвать?

Это сообщение отредактировал(а) Снусмумрик - 13.2.2009, 15:57
PM MAIL   Вверх
Shurfll
Дата 13.2.2009, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 16.10.2007

Репутация: нет
Всего: нет



боюсь ошибиться, но почемубы не сделать jBean extends HttpServlet (или как там его) ?
PM MAIL   Вверх
Снусмумрик
Дата 13.2.2009, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 1.2.2009

Репутация: нет
Всего: нет



Цитата(Shurfll @ 13.2.2009,  16:03)
боюсь ошибиться, но почемубы не сделать jBean extends HttpServlet (или как там его) ?

Иенно так и делал, но дело в том что,  если я прямо втавляю метод doGet в бин а в этом методе получая строку с моей переменой, которую потом перевожу в int, то я не могу потом ее(var)вызвать в бине. Поэтому и спрашиваю как можно еще ее получить..Может я что то не так делаю ?
пример

Код

public void doGet(HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException {

        response.setContentType("text/html"); 
        
        String var = request.getParameter("parametr");  // Получение параметров от обьекта
...




Это сообщение отредактировал(а) Снусмумрик - 13.2.2009, 16:28
PM MAIL   Вверх
Shurfll
Дата 13.2.2009, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 16.10.2007

Репутация: нет
Всего: нет



Код


private String bean_var;

public void doGet(HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException {
        response.setContentType("text/html"); 
        
        bean_var = request.getParameter("parametr");  // Получение параметров от обьекта
}

public void beanFunction(){
        System.out.println(bean_var);
}



это имеется в виду? или я опять что-то не понял? Если да - то вы просто не видете переменную var из-за ограничения видимости локальной переменной метода doGet ...
почитайте про видимость переменных - и больше у вас таких вопросов не будет =)

Это сообщение отредактировал(а) Shurfll - 13.2.2009, 17:40
PM MAIL   Вверх
Tony
Дата 13.2.2009, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



Снусмумрик, посмотри beanutils.jar от jakarti  в разделе  commons
Код

           //код в контроллере(сервлете)
           BeanUtils.populate(mojBeanObjeky, request.getRequestParameterMap());


Соответсетвенно если у тебя параметер parametr=12345. То должен быть setParameter i getParameter методы v бине.


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
Снусмумрик
Дата 13.2.2009, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 1.2.2009

Репутация: нет
Всего: нет



Цитата(Shurfll @ 13.2.2009,  17:38)
Код


private String bean_var;

public void doGet(HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException {
        response.setContentType("text/html"); 
        
        bean_var = request.getParameter("parametr");  // Получение параметров от обьекта
}



это имеется в виду? или я опять что-то не понял? Если да - то вы просто не видете переменную var из-за ограничения видимости локальной переменной метода doGet ...
почитайте про видимость переменных - и больше у вас таких вопросов не будет =)

Ребята, спасибо за помощь, Shurfll не верю сам себе! У меня также переменная private String bean_var; Была вынесена, но не работало - вставил тот же код но от вас, все заработало  smile 

Но есть один момент:
Переенная видиться только как null. Тоесть она не берет ничего с адресной строки.
Подскажите пожалуйста, как же получить число 123 с этой строки ?parametr=123?

PM MAIL   Вверх
Снусмумрик
Дата 17.2.2009, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 1.2.2009

Репутация: нет
Всего: нет



Хочу перефразировать мой вопрос..
Есть ли возможность вытащить какое либо значение параметра из адресной строки, и при этом не пользоваться аплетами?
Или это все только через апплет..

Возможно есть что то наподобии этого: (общий ход мысли)

Ссылка имеет Listener который ожидает нажатия на нее, и когда это происходит берет ее  -> вытаскивает оттуда значение.. дальше уже методами сет и гет мы присваеваем это значение какой либо переменной в бине.

Где то так.. я не имеюю ввиду имеено этот код, просто хочу обьяснить ход своей мысли 

public void handleLaunch(LaunchEvent event)
{

  Object usr = username;
  event.getParameters().put("firstname", usr);
}



Пожалуйста, прошу помощи в этом вопросе.

Это сообщение отредактировал(а) Снусмумрик - 17.2.2009, 14:45
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1234 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.