여기에 제가하려는 일이 있습니다. jsf page1의 데이터를 page1에서 열린 팝업 창인 jsf page2에서 사용할 수있게하려고합니다. 둘 다 별도의 관리 빈을 갖습니다. 세션을 사용해 보았지만 null 포인터가 발생했습니다. 나는 어떻게 든 javascript에서 window.opener()를 사용하여 page2에서 데이터를 가져올 수있었습니다. 이제이 데이터를 FacesPortlet의 processAction() 메소드에서 사용할 수있게하려고합니다. request.getParameter, request.getAttributes를 모두 사용해 보려합니다. 많은 연구 끝에 어떻게 든 processAction() 메서드에서 하드 코딩 된 데이터를 보낼 수있었습니다. 그러나 page1에서 값을 보낼 수 없습니다. 다음은 하드 코딩 된 값을 보내는 방법입니다.하나의 JSF 페이지에서 FacesPortlet의 ProcessAction() 메소드로 데이터를 전송하십시오.
<form name="uploadbaseline" method="post"
enctype="multipart/form-data" action="<portlet:actionURL><portlet:param name = "page" value = "someval"/></portlet:actionURL>">
다음은 양식 내의 다른 입력란이옵니다. 이
System.out.println("valuefrompage1"+request.getParameter("page"));
같은 내가의 processAction의 값을 얻을 수() 메소드는이 "someval"를 반환합니다. 이제 다음 코드를 사용하여 javascript를 사용하여 page1의 값을 할당하려고합니다.
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 +"그대로하고 "발"변수가 아닌 실제 값.
나를 올바른 방향으로 인도하십시오. 답장을 기다리겠습니다. 감사합니다. .
내 검색어를 게시하는 방식에 혼동이 있으면 알려 주시기 바랍니다. 같은 것을 분명히하기 위해 열심히 노력할 것입니다. – Waheeb
죄송합니다. 포틀릿을 사용하지 않습니다. – BalusC
window.opener 및 쿼리 문자열 이외의 상위 페이지 값을 가져 오는 방법이 있습니까 ?? – Waheeb