Java sendRedirect后的IllegalStateException
我使用的是带有JSF2框架的GlassFish4服务器 我的问题 调用response.sendRedirect方法时,我遇到了一个IllegalStateException 我一点也不知道为什么会出现这个异常 上下文 对于每个xhtml页面,我都会调用这个方法来检查用户是否仍然登录Java sendRedirect后的IllegalStateException,java,servlets,Java,Servlets,我使用的是带有JSF2框架的GlassFish4服务器 我的问题 调用response.sendRedirect方法时,我遇到了一个IllegalStateException 我一点也不知道为什么会出现这个异常 上下文 对于每个xhtml页面,我都会调用这个方法来检查用户是否仍然登录 <body id="body" onload="#{utilisateurBean.isUserLoggedIn()}"> 例外情况 Infos: Exception when handling
<body id="body" onload="#{utilisateurBean.isUserLoggedIn()}">
例外情况
Infos: Exception when handling error trying to reset the response.
java.lang.IllegalStateException
或
我不知道为什么会有回应
感谢您的帮助:)当响应已提交/定义时,您无法更改响应 这里显示的是页面,因此已经定义了响应 您必须以另一种方式执行此操作,例如显示一条错误消息,说明用户未连接,并要求用户再次登录
您还可以使用javascript执行重定向。当响应已经提交/定义时,您不能更改响应 这里显示的是页面,因此已经定义了响应 您必须以另一种方式执行此操作,例如显示一条错误消息,说明用户未连接,并要求用户再次登录
您还可以使用javascript进行重定向。使用以下代码片段更改代码:
public void isUserLoggedIn() throws IOException {
if(this.user == null){
HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
response.sendRedirect("Project/accueil/index.xhtml");
return;
}
}
或者添加一个检查以验证响应是否已提交
response.isCommitted()
有关已提交响应的更多信息,请查看。使用以下代码片段更改代码:
public void isUserLoggedIn() throws IOException {
if(this.user == null){
HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
response.sendRedirect("Project/accueil/index.xhtml");
return;
}
}
或者添加一个检查以验证响应是否已提交
response.isCommitted()
有关已提交响应的更多信息,请查看。谢谢,我已解决了我的问题。我不知道为什么,但是移除样式标签(在head标签中)中的CSS就成功了。谢谢,我解决了我的问题。我不知道为什么,但是去掉样式标签(在head标签中)中的CSS就成功了。谢谢你的回答。我的问题来自在head标签中写入CSS。移除它解决了问题谢谢你的回答。我的问题来自在head标签中写入CSS。移除它修复了问题