我使用JSP开发了一个简单的Web应用程序。它有一个包含用户名,密码字段和sumbit按钮的登录页面。它有一个注销页面,其中包含到登录页面的链接。而且有像第1页,第二页,第三页,第四页,等如何更改导航工具栏中的后退按钮功能?
正常工作流程的某些页面如下:
- 登录后谈到第1页。
- 然后点击一些动作,它会转到第2页。
- 然后点击一些动作,它会转到第3页。
- 然后点击一些动作,它会转到第4页。所以现在我在第4页。
- 现在点击浏览器导航工具栏中的返回按钮,一般会转到上一页(第3页)。
但我的要求是,如果您从应用程序中的任何页面点击导航工具栏中的按钮,那么您应该去注销页面。例如:如果你在页面4并按下后退按钮,那么你应该去注销页面而不是页面3。
如何实现这一目标?这是否可能?也许用Javascript?
如何跟踪和控制导航工具栏中的浏览器后退按钮功能?
但我原来的规定:
我一直在使用JSF框架开发保护的应用程序。
,也是我使用范围(会话范围)
在我的应用程序使用下面的代码...但是不行吧...
public class **LogoutPhaseListener** implements **PhaseListener**
{
public void **afterPhase**(PhaseEvent event)
{
}
public void **beforePhase**(PhaseEvent event)
{
FacesContext facesContext = event.getFacesContext();
HttpServletResponse httpServletResponse = (HttpServletResponse) facesContext.getExternalContext().getResponse();
httpServletResponse.addHeader("Pragma", "no-cache");
httpServletResponse.addHeader("Cache-Control", "no-cache");
httpServletResponse.addHeader("Cache-Control", "must-revalidate");
httpServletResponse.addHeader("Expires", "Mon, 8 Aug 2006 10:00:00 GMT");
httpServletResponse.addHeader("Cache-Control", "no-store");
}
public PhaseId **getPhaseId**()
{
return PhaseId.RENDER_RESPONSE;
}
}
如果单击后退按钮浏览器,然后返回上一页...
,但我想去注销page..when我在浏览器中单击后退按钮...上面的代码不完美地工作吧..
这是真的吗?我相信Opera在这方面有一些时髦的行为。请参阅http://dev.opera.com/forums/topic/224464 – MSalters 2010-04-13 12:30:12