我正在使用具有此结构的网络应用程序:
main/index.jsp
main/first/index.jsp
main/second/index.jsp
在我的main / index.jsp中我有一个登录表单,启用会话变量和重定向,具体取决于我输入的用户/通道类型。实际上我正在使用request.getRequestDispatcher( “/first/index.jsp”)和request.getRequestDispatcher(“/ second / index.jsp”)从登录页面重定向。 2个webapps(第一个和第二个)仅在启用了会话变量时启用,并且它们都有一些变量通过链接传递,如下所示:
main/first/index.jsp?id=1&var=2
我目前的问题是:当我从main / index.jsp传递到其他2个webapps之一时,我的网址不会改变。它应该是main / second / index.jsp,但它仍然是main / index.jsp,并且该页面中的所有链接都搞砸了(因为它们是相对于它们的文件夹),所以如果我尝试使用我的链接传递变量通过链接,我不会得到这个:
main/second/index.jsp?id=2&var=1
但是这个:
main/index.jsp?id=2&var=1
我试图在链接上解决这个推杆,他们的主路径,但是在一次“迭代”之后,第二个将有一个正确的网址,所以第二个将是这样的:
main/second/second/index.jsp?id=3&var=1
仍然是无用和错误的。
我尝试过使用response.sendRedirect()而不是使用request.getRequestDispatcher()但是使用这个解决方案我失去了会话变量:重定向后,一切都丢失了。
是的,有人能帮帮我吗?谢谢。答案 0 :(得分:0)
经过一些测试我解决了这个问题。当我通过URL传递变量时,我需要使用完整地址:
<a href="/main/first/index.jsp?id=1"> One, 1</a>
而不是使用它:
<a href="index.jsp?id=1"> One, 1</a>