我正在为nexus oss编写一个插件,我正在做response.sendRedirect
如下
String redirectUrl = url + "#nexus-search;gav"
+ "~net.collab.builds~teamforge~~~~"
+ "?" + req.getQueryString();
response.sendRedirect(response.encodeRedirectURL(redirectUrl));
形成的重定向 url 就像
http://domain/nexus/index.html#nexus-search;gav~net.collab.builds~teamforge~~~~?sfId=prpl1106&sfLoginToken=A237421CF755183D177F5C020752040F&isLoggedIn=true
我在这里做的是附加旧请求对象中存在的查询字符串,并附加到新的 url 并重定向到它。
但是我无法理解的是,redirecturl
当新的重定向 url 被命中时,我没有得到查询字符串。我放了断点,发现重定向 url 完成后,当它被处理时,查询字符串为空。
以下是疑问:
1)我做错了什么导致查询字符串消失?
为了查看重定向是否顺利,我做了request.getCookie
并发现 cookie 与旧请求中一样存在。那么我哪里错了?我的新网址的查询字符串去哪儿了?
2)重定向的url是否也有paramterMap
旧请求对象中的那个。目前paramterMap
重定向的 url 中也为 null。我是否应该明确地从旧请求对象中获取并在重定向期间将其作为响应。如何使旧请求对象中的参数映射也在重定向过程中发送。
我的调试更新:
当我使用 #nexus 访问 url 时,好像发生了一些奇怪的事情。
我已将其作为nexus oss中的问题记录在 jira 中。