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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Можно ли через <navigation-rule> перенаправить, на другое web-приложение? 
:(
    Опции темы
Maverick
Дата 4.6.2007, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1307
Регистрация: 22.9.2003
Где: Odessa, Ukraine

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



Использую JSF... мне надо по кнопке уйти в другое web-приложение... Каким образом, это сделать? 

пишу так 
Код

    <navigation-rule>
        <from-view-id>/ListBank.jsp</from-view-id>
        <navigation-case>
            <from-outcome>idAddress</from-outcome>
            <to-view-id>http://localhost:8080/Address-vwa/faces/FormAddress.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    


дает ошибку... Пробовал использовать hyperlink... если просто писать url в свойствах - переходит, но все дел в том, что включенный url отключает событие action, которое мне нужно... В хедле пишут: нужен action - используйте <navigation-rule>... но как же там адрес прописать конечный..???

Добавлено через 6 минут и 22 секунды
забыл упомянуть - JavaScript лучше не предлагать... заранее благодарен... 


--------------------
smile
PM ICQ GTalk   Вверх
Maksym
Дата 4.6.2007, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

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



Можно обойтись без navigation-rule (все таки они предназначены для навигации внутри приложения) и в коде метода, обрабатывающего нажатие кнопки, сделать, например, response.sendRedirect("http://localhost:8080/Address-vwa/faces/FormAddress.jsp")

Это сообщение отредактировал(а) Maksym - 4.6.2007, 14:36
PM MAIL   Вверх
Maverick
Дата 4.6.2007, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1307
Регистрация: 22.9.2003
Где: Odessa, Ukraine

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



Как получить этот самый response в JSF? двигаюсь как в темной комнате - наощупь...

Добавлено через 3 минуты и 43 секунды
Код

        HttpServletResponse response = (HttpServletResponse)   this.getExternalContext().getResponse();
        response.sendRedirect("http://localhost:8080/Address-vwa/faces/FormAddress.jsp");         



так прокатит??

Добавлено через 6 минут и 22 секунды
заработало... СПАСИБО... ;)


--------------------
smile
PM ICQ GTalk   Вверх
check
Дата 10.3.2008, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



У меня не пркатило:
Код

IllegalStateException: Cannot forward after response has been committed


Смысл ошибки примерно ясен, а вот причина нет.  
Под "response has been committed" понимается, что он был уже отправлен браузеру jsp(jsf) страницей?
И что теперь?

Код

public class ButtonListener extends FacesBean {

    public void onClick() {

        try {
            HttpServletResponse response = (HttpServletResponse)   this.getExternalContext().getResponse();
            response.sendRedirect("http://localhost:8080/jsfks/article.jsp");
        }
        catch (IOException e) {
             e.printStackTrace();
        }

PM MAIL   Вверх
check
Дата 10.3.2008, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А,  так это обычная ошибка - заголовки посланы после вывода.
То есть код
Код

...
<h:outputText value="#{name.first}" rendered="#{not name.editable}"/>
<h:commandButton image="outleaf.bmp" action="#{ButtonListeners.onClick}"/>

это  примерно то же самое,  что 
Код

out.println("something");
response.sendRedirect("http://localhost:8080/jsfks/article.jsp");


Как это обойти?  Можно ли как-то буферизовать вывод,  неважно средствами JSP или JSF?

navigation-rule не подойдет,   поскольку урл должен формироваться динамически.

В общем-то это все касается этой темы: http://forum.vingrad.ru/forum/topic-199915.html


PM MAIL   Вверх
ivg
Дата 10.3.2008, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Autonomous R&D
**


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

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



check, попробуйте так
Код

public class ButtonListener extends FacesBean {
    public void onClick() {
        try {
            FacesContext.getCurrentInstance().responseComplete();
            HttpServletResponse response = (HttpServletResponse)   this.getExternalContext().getResponse();
            response.sendRedirect("http://localhost:8080/jsfks/article.jsp");
        }
        catch (IOException e) {
             e.printStackTrace();
        }


PM MAIL   Вверх
check
Дата 10.3.2008, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

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

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


 




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


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

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