Liferay에서 스프링 포틀릿 리다이렉트 및 JSP 렌더링 문제가 발생했습니다.스프링 포틀릿 MVC sentRedirect 및 setRenderParameter
나는 두 개의 JSP를 defaultView.jsp 및 second.jsp으로하는 Liferay PAGE1 및 페이지 2 한 스프링 MVC 포틀릿 portletA에 두 페이지가 있습니다.
page1 및 page2는 모두 portletA를 인스턴스화합니다.
portletA는 @RenderMapping() 메소드를 호출하여 defaultView.jsp를 기본적으로로드합니다.
DefaultViewController 다음을 Liferay 페이지 2는 HTTP 호출 할 수 defaultView.jsp에서
@RenderMapping
public String renderDefaultView() {
return "defaultView";
}
리디렉션 (@ActionMapping resp.sendRedirect())
defaultView.jsp :
$(nRow).click(function() {
window.location.href = "<portlet:actionURL name='doGotoPage2' />"
});
DefaultViewController : 나는 어떻게 portletA가 PAGE1에서 리디렉션 후 페이지 2의 다른 @RenderMapping 메서드를 호출 말할 수
을 궁금
이제@ActionMapping("doGotoPage2")
public void doGoToMedicalAid(ActionRequest req,
ActionResponse resp) {
try {
resp.sendRedirect("/group/project/page2");
} catch (IOException ex) {
Logger.getLogger(DefaultViewController.class.getName()).log(Level.SEVERE, null, ex);
}
}
? 지금까지 내가 이해
@RenderMapping(value = "renderSecondPage")
public String renderSecondPage() {
return "second";
}
을, 나는 전이나 sendRedirect을 한 후 작업 단계에서 renderParameters을 설정할 수 없습니다 :
나는 페이지 2에 second.jsp을 렌더링하는 portletA 싶습니다!
예를 들어,이 작동하지 않습니다와 java.lang.IllegalStateException 결과 : 매개 변수를 렌더링 설정 이미
resp.sendRedirect("/group/project/page2");
resp.setRenderParameter("render", "renderSecondPage");
감사를 호출 된 당신의 도움을 많이!
작업 범위에서 리디렉션을 수행하고 렌더링 속성을 PortletSession에 저장하여이 문제를 해결할 수있었습니다. 아직도 그것을하는 제일 방법 같이 느끼지 않으며 그러나 지금 일한다 :) 너의 도움을 위해 감사하십시오! – Pascal