我的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重定向,请问有人可以帮我吗?

最佳答案

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

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

关于java - 如何在Liferay MVC Portlet中的actionResponse中设置301状态代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56808356/

10-09 05:18