当页面加载时,我需要重定向到控制器级别的另一个页面。 我已经尝试了很多。但我无法找到办法。因此,作为控制器级别的变通方法,我将一个标志变量放到' ModelMap'并且在' JSP'和' JS'级别我读取并使用javascript重定向。
window.location
我觉得这不是一个更好的方法。关注" getConfirmationPage"是加载页面时执行的方法。
我也试过
response.sendRedirect("https://stackoverflow.com/?p=1");
但那个也不适合我。
任何人都可以提出最佳做法。 我在我的项目中使用spring4 / liferay 6.2.4 / portlet / JSP作为技术。这是与portlet相关的问题。
@Controller
@RequestMapping("VIEW")
public class ConfirmationController extends AbstractControllerTemplate {
@RenderMapping
public ModelAndView getConfirmationPage(
RenderRequest req,
PortletSession session) {
ModelMap mm = new ModelMap();
//conditionally need to redirect to different liferay page not portlet
return new ModelAndView("confirmation", mm);
}
编辑 这是我的逻辑 我的传入网址就像这个https://stackoverflow.com/?p=2,但逻辑上p = 2对他来说无效。所以我尝试做的是将他重定向到p = 1
https://stackoverflow.com/?p=1
答案 0 :(得分:0)
您可以使用以下代码行来解决您的问题。变量响应应该是PortletResponse / ResourceResponse的类型。
Running 2 test cases...
Test: f 1//1 2//2 3//3 4//4\r\n
Test: f 1/1/ 2/2/ 3/3/ 4/4/\r\n
Test: f 1/1/1 2/2/2 3/3/3 4/4/4\r\n
Test: f 1/1/1 2/2/2 3//3 4//4\r\n
Test: f 1/1/ 2/2/ 3/3/ 4/4/4\r\n
*** No errors detected
以下是详细说明您的要求的示例代码段。
HttpServletResponse res =PortalUtil.getHttpServletResponse(response)
快乐编码!!!!