问题描述
我有以下代码:
<c:redirect url= "someFile.jsp">
但是我在进行重定向时需要使用主机名。有点像下面:
String servername = request.getServerName();
String myAppUrl = "https://" + servername + "/myApp/";
<c:redirect url= myAppUrl + "someFile.jsp">
但是我上面的代码出错了。也尝试了以下方法,但都不起作用:
<c:redirect url= ${myAppUrl} + "someFile.jsp">
<c:redirect url= "${myAppUrl}" + "someFile.jsp">
看到我的问题不是关于获取请求对象..我可以做到这一点并且能够访问主机名、上下文路径等。但是我需要将它们传递给我不知道该怎么做的 url 值。有人可以告诉我如何在上述重定向中使用动态 url。
解决方法
以下修复对我有用:
String servername = request.getServerName();
String myAppUrl = "https://" + servername + "/myApp/";
String myJspUrl = myAppUrl + "someFile.jsp";
request.setAttribute("myJspUrl",myJspUrl);
%>
<c:redirect url= "${myJspUrl}">
<%