如何在Liferay MVC portlet中的actionResponse中设置301状态代码

时间:2019-06-28 13:59:56

标签: java liferay liferay-6 liferay-7

我的MVC Portlet中具有以下方法,

public void process(HttpServletRequest  actionRequest, HttpServletResponse  actionResponse){

   try
        {

   actionResponse.sendRedirect("https://www.sample.com/category/diamond?valid=true");
   actionResponse.setStatus( HttpServletResponse.SC_MOVED_PERMANENTLY);
}

catch(Exception ex){
System.out.println("Error occured" + ex.getMessage());
}
}

此操作成功重定向到上述URL,但我希望它是301重定向。所以我尝试了

actionResponse.setStatus( HttpServletResponse.SC_MOVED_PERMANENTLY);

但是它不起作用,如何进行301重定向,请问有人可以帮我吗?

1 个答案:

答案 0 :(得分:2)

这里有两个问题需要解决, 首先,检查发送重定向提交响应后,是否未设置代码。 其次,要设置这样的代码,您可能需要尝试如下操作:

response.setProperty( ResourceResponse.HTTP_STATUS_CODE, Integer.toString( HttpServletResponse.SC_NOT_FOUND ) );