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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> jsp+jsf+servlet 
V
    Опции темы
Tigra
Дата 1.2.2008, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Пытаюсь создать свой первый проект и возник вот такой вопрос:
Есть у меня jsp страница с формой, которая использует jsf. Хотелось бы, чтобы переход по кнопке <h:commandButton> осуществлялся не на другую jsp страницу, а на Servlet. 
Не могу разобраться, как это можно осуществить.  В Navigation Rule можно осуществить переход только с jsp на jsp (( И на Servlet моя страница никак не отправляется.
PM MAIL   Вверх
v2v
Дата 1.2.2008, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



сделай в контроллере форвард на сервлет.


--------------------
PM   Вверх
Tigra
Дата 1.2.2008, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Простите за глупый вопрос, а можно поподробнее?
Где и что написать?
PM MAIL   Вверх
v2v
Дата 1.2.2008, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



ну например , jsp страничка получатель может быть такой:
<% response.sendRedirect("servlet2"); %>

Добавлено через 4 минуты и 10 секунд
придумал вариант по хитрее : в web.xml ты делаешь мапинг для сервлета: по какому урл-у к нему получать доступ: сделай ему: serlvlet.jsp . я не пробовал, но предполагаю, что так работать будет).


--------------------
PM   Вверх
Greg
Дата 1.2.2008, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 16.9.2006
Где: Беларусь, г.Минск

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



Использование сервлета в рамках модели JSF для инкапсуляции части контроллер в большинстве случаев не целесообразно. Для этого в JSF есть понятия bindings & backing beans. Вот пример использования binding:
Код

<h:commandButton action="#{backingBean.download}"/>

backingBean должен быть описан в faces-config.xml:
Код

<faces-config>
  <managed-bean>
    <managed-bean-name>backingBean</managed-bean-name>
    <managed-bean-class>app.BackingBean</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>    
  </managed-bean>
  ...
  <navigation-rule>
    <from-view-id>/downloadPage.jsf</from-view-id>
    <navigation-case>
      <from-outcome>success</from-outcome>
      <to-view-id>/successDownload.jsf</to-view-id>
    </navigation-case>
    <navigation-case>
      <from-outcome>fail</from-outcome>
      <to-view-id>/failDownload.jsf</to-view-id>
    </navigation-case>
  </navigation-rule>
</faces-config>

backing bean - это обычный Java Bean компонент, который должен определять метод:
Код

public String download() {
  // executing business logic
  if (successCondition) {
    return "success"
  } else {
    return "fail"
  }
}


Это сообщение отредактировал(а) Greg - 1.2.2008, 13:06
--------------------
Страх перед возможностью ошибки не должен отвращать нас от поисков истины.
PM MAIL   Вверх
Tigra
Дата 1.2.2008, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо огромное  smile 
Использую
Цитата

 вариант по хитрее : в web.xml ты делаешь мапинг для сервлета: по какому урл-у к нему получать доступ: сделай ему: serlvlet.jsp . я не пробовал, но предполагаю, что так работать будет). 


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.1016 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


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

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