gpt4 book ai didi

jsf - FacesContext.getCurrentInstance().getExternalContext().redirect 不会立即重定向

转载 作者:行者123 更新时间:2023-12-04 13:10:09 24 4
gpt4 key购买 nike

Id作为 Url 参数传入。我尽量确保 id是一个数字。如果没有重定向到主页

if(facilityId != null){
try{
Long.parseLong(facilityId);
}catch(NumberFormatException e){
try {
FacesContext.getCurrentInstance().getExternalContext().redirect("DisplayList.jsf");
} catch (IOException ex) {}
}
facility = documentSBean.findFacilityById(Long.parseLong(facilityId));
...
}

所以如果我传入这样的 id
www....?facilityId=3?sdfasfda

我明白了 3?sdfasfda不是数字,并进入重定向语句,但它没有正确重定向,它执行接下来几行尝试转换 3?sdfasfda到 Long,因此 yield NumberFormatException .那么有没有办法立即强制重定向,或者有没有其他方法可以解决这个问题。希望有一个 elsecatch 之后:D :D。以上代码在我的 @PostConstruct init()里面方法

最佳答案

是的,只需 return从方法:

FacesContext.getCurrentInstance()
.getExternalContext().redirect("DisplayList.jsf");
return;

当您调用 redirect(..)唯一发生的事情是在响应对象中设置了一个特殊的 header ( Location )。但是调用方法的流程会继续,除非您 return从它调用重定向后。

关于jsf - FacesContext.getCurrentInstance().getExternalContext().redirect 不会立即重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4102110/

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