我使用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