gpt4 book ai didi

java - ZK - 将用户重定向回上一页

转载 作者:行者123 更新时间:2023-12-02 06:52:03 25 4
gpt4 key购买 nike

关于如何干净、稳健地将用户重定向回上一页有什么想法吗?

如果上一页位于应用程序本身内,我只关心将它们重定向回来。我曾考虑过在用户的 session 中存储某种 DIY 历史记录,但这似乎并不干净或健壮。我知道我们可以使用 Executions.sendRedirect(url) 重定向用户,但我不确定获取上一页 URL 的最佳方式。

ZK有自己的Browser History Management但我认为在尝试启动真实浏览器重定向时这没有用。

最佳答案

试试这个:

// check if request needs to be sent back
if (!isValidRequest()) {

// get the current execution context
Execution exec = Executions.getCurrent();

// retrieve HTTP request, response objects
HttpServletRequest request = (HttpServletRequest) exec.getNativeRequest();
HttpServletResponse response = (HttpServletResponse) exec.getNativeResponse();

// get the referring URL from HTTP header
String referrer = request.getHeader("Referer");

/* don't need to use this unless doing a forward (server-side)

if (referrer != null) {
URL ref = new URL(referrer);
referrer = ref.getPath().substring(request.getContextPath().length());
} else {
referrer = "/index.jsp"; // home page
}
*/

// HTTP 301 redirect (client-side); encoding ensures URL rewriting if required
response.sendRedirect(response.encodeRedirectURL(referrer));

exec.setVoided(true); // no need to create UI; about to redirect
}

关于java - ZK - 将用户重定向回上一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17909207/

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