Вот что я пытаюсь сделать.
Я хочу, чтобы данные из jsf page1 были доступны в jsf page2, который является всплывающим окном, открытым page1.
Оба имеют отдельные управляемые бины.
Я пытался использовать сессии, но это привело к нулевым указателям.
Мне как-то удалось получить данные в page2 с помощью window.opener () в JavaScript.
Теперь я хочу, чтобы эти данные были доступны в методе processAction () FacesPortlet.
Пробовал с помощью request.getParameter, request.getAttributes, все напрасно.
После долгих исследований мне каким-то образом удалось отправить некоторые жестко закодированные данные в методе processAction (). Но я не могу отправить значение со страницы1.
Вот как я отправляю жестко закодированное значение.
<form name="uploadbaseline" method="post"
enctype="multipart/form-data" action="<portlet:actionURL><portlet:param name = "page" value = "someval"/></portlet:actionURL>">
Далее следуют другие поля внутри формы.
Я получаю значение в методе processAction () следующим образом
System.out.println("valuefrompage1"+request.getParameter("page"));
Это возвращает "someval".
Теперь я пытаюсь присвоить значение со страницы 1, используя JavaScript, используя следующий код.
var val = window.opener.document.getElementById("BaseLine:EngineModel").value;
var actionval = "<portlet:actionURL><portlet:param name='page' value=" + val.value + "/></portlet:actionURL>";
document.uploadbaseline.action = actionval.value;
document.uploadbaseline.submit();
Возвращает значение "+ val.value +" как есть, а не фактическое значение в переменной "val".
Пожалуйста, ведите меня в правильном направлении.
С нетерпением жду ваших ответов.
Спасибо.