이전 포틀릿 애플리케이션을 WPS5에서 WPS6으로 마이그레이션하고 있습니다. 응용 프로그램이 IBM 레거시 컨테이너를 사용 중입니다. 마이그레이션 가이드에 따르면 일부 포털 라이브러리와 일부 태그 참조 만 갱신합니다. 응용 프로그램은 여전히 IBM 레거시 컨테이너와 수정 된 Struts 포틀릿을 사용하고 있습니다.Websphere 포틀릿 마이그레이션, DispatchAction의 누락 된 매개 변수
나는에 의해 같은 링크를 만들 때 : 나는 DispatchAction
을 사용하고
/wps/.../...[hash-like chars]_spf_strutsAction=!2fpage1.do!3fmethod%3ddisplay#[hash-like chars]
, 파견 매개 변수 '방법'을 찾아 볼 것입니다 :
<html:link page="/page1.do?method=display">Go to Page 1</html:link>
링크 같은 URL을 렌더링을 . 그러나 위의 링크를 클릭하면 dispatchAction에 '메서드'매개 변수를 전달할 수 없습니다.
name: spf_strutsAction
value: !2fpage1.do!3fmethod=display
그래서 그것은 아주 분명하다고 매개 변수가 request.getParameter('spf_strutsAction')
아래에 묻혀 따라서 작업을 파견 할 수 없기 때문에 request.getParameter('method')
반환 널 (null) : 요청 매개 변수에 대한 추가 조사는이 키 - 값 쌍을 발견했다.
물론 묻힌 매개 변수를 읽음으로써 파견 작업을 강제로 수행 할 수 있습니다. 그러나 문제는 '방법'이외의 많은 다른 매개 변수가 있다는 것입니다.
포털 서버는 PortletRequest 구현을 제공해야한다고 생각합니다. 그 PortletRequest.getParameter() 어떻게 든 잘못입니까? 아니면 Portlet Struts 문제입니까? 어떻게 이러한 매개 변수를 요청 객체 안에 다시 넣을 수 있습니까?