Как передать данные с веб-страницы на другую веб-страницу в другом проекте (JSF 1.1 - ADF 10.1.3) - PullRequest
0 голосов
/ 14 ноября 2011

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

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

     return "goToPrint";
}

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

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

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

   return "goToPrint?pageFrom="+md;
}

1 Ответ

1 голос
/ 14 ноября 2011

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

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

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

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

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

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

...