Как установить код состояния 301 в actionResponse в портлете Liferay MVC - PullRequest
0 голосов
/ 28 июня 2019

У меня есть следующий метод в моем портлете MVC,

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 Ответ

2 голосов
/ 28 июня 2019

Здесь есть две проблемы, Во-первых, проверьте, не устанавливаете ли вы код после отправки перенаправления фиксирует ответ. Во-вторых, чтобы установить подобный код, вы можете попробовать что-то вроде следующего:

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