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

Java 如何在Liferay MVC portlet的actionResponse中设置301状态代码,java,liferay,liferay-6,liferay-7,Java,Liferay,Liferay 6,Liferay 7,我的MVCPortlet中有以下方法 public void process(HttpServletRequest actionRequest, HttpServletResponse actionResponse){ try { actionResponse.sendRedirect("https://www.sample.com/category/diamond?valid=true"); actionResponse.setStatus( Http

我的MVCPortlet中有以下方法

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());
}
}
这重定向到提到的网址成功,但我希望它是一个301重定向。所以我试过了

actionResponse.setStatus( HttpServletResponse.SC_MOVED_PERMANENTLY);

但它不起作用,我怎么做301重定向,有人能帮我吗?

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

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

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

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