Как передать данные с веб-страницы на другую веб-страницу в другом проекте (JSF 1.1 — ADF 10.1.3)

У меня есть две страницы в двух разных проектах (это означает, что в разных файлах уха, которые развернуты по отдельности), и мне нужно передать данные со страницы на другую.

в действии командной ссылки я делаю

public String onSalva() {
     ADFContext.getCurrent().getApplicationScope().put("comingFrom", md);

     return "goToPrint";
}

и в методе конструктора вспомогательного компонента другой страницы я делаю:

page = (String)ADFContext.getCurrent().getApplicationScope().get("comingFrom");

Но страница всегда нулевая. Я безуспешно пытался использовать процесс, сеанс и область запроса. Есть ли способ перенаправить на другую страницу, указав параметры вручную? Что-то типа

   return "goToPrint?pageFrom="+md;
}

person Nicola Peluchetti    schedule 14.11.2011    source источник


Ответы (1)


Когда вы говорите «разные EAR», это означает, что два приложения изолированы друг от друга, и нет простого способа передать данные из одного в другое через Java.

Вместо этого вы должны использовать протокол HTTP. Если вы просто хотите перейти по URL-адресу, используйте HttpServletResponse.sendRedirect()

Это откроет новую страницу в браузере, как если бы пользователь ввел URL-адрес в адресную строку. Браузер больше не будет взаимодействовать с вашим первым приложением

Если вы хотите остаться в своем первом приложении и просто отправить некоторые данные другой стороне, есть несколько способов: Вы можете встроить другое приложение с iframe — это не позволит вам обмениваться данными, но пользователь может заполнить и отправить форма, например.

Или вы можете использовать библиотеку, например HttpClient, для взаимодействия с другим приложением. Это позволит вам отправлять запросы POST и делать все, что веб-браузер может делать с другим приложением.

Наконец, вы можете определить общий корпоративный компонент, который потребляют оба EAR. Одним из подходов может быть определение службы сообщений, на которую подписываются оба приложения. Первый создает сообщения и ставит их в очередь, а второй ждет сообщения и что-то с ним делает.

person Aaron Digulla    schedule 14.11.2011
comment
Хорошо, спасибо, это то, что я ожидал. Я закончил тем, что играл с URL! - person Nicola Peluchetti; 15.11.2011