gpt4 book ai didi

JSF 2 -- 永久重定向 (301)

转载 作者:行者123 更新时间:2023-12-04 19:40:55 24 4
gpt4 key购买 nike

我正在尝试从 JSF 中实现 301 重定向,但是当我对其进行调试时,我总是看到正在执行 302。有人能告诉我如何改变下面的方法来完成 301 吗?

/**
* Redirect to specified destination url
*
* @param destination
*/
public static void permanentRedirect(String destination) {
final ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();

try {
HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);

if (!response.isCommitted()) {
externalContext.redirect(destination);
}
} catch (IOException e) {
LOGGER.debug("Could not redirect to " + destination);
}
}

最佳答案

你不应该调用 externalContext.redirect(destination) .它会将状态覆盖为 302。您应该手动 set the Location headercomplete the response .

externalContext.setResponseStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
externalContext.setResponseHeader("Location", destination);
facesContext.responseComplete();

关于JSF 2 -- 永久重定向 (301),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10744949/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com