我需要刷新网页,但在刷新请求中我想添加一个额外的参数,所以我有类似的东西:
<c:url value="currentUrl" var="newUrl">
<c:param name="newParam" value="newValue"/>
</c:url>
<a href="${newUrl}">Refresh</a>
如何从jsp的隐式对象获取带有params 的 currentUrl(例如http://localhost:8080/mywebapp?param1=var1¶m2=var2)。 我有类似$ {pageContext.request.requestURL}的内容,但这会返回jsp的url,而不是请求url。
由于
答案 0 :(得分:4)
如果已转发JSP,您可以通过${requestScope['javax.servlet.forward.request_uri']}
获取原始请求URL,并按原样获取原始请求查询字符串
${requestScope['javax.servlet.forward.query_string']}
。
答案 1 :(得分:2)
你可以尝试这两个,
${requestScope['javax.servlet.forward.request_uri']}
${requestScope['javax.servlet.forward.query_string']}
JavaScript方法
您的意思是地址栏中的网址吗?如果是这种情况,您可以编写JavaScript函数来获取参数,然后修改有问题的href
。
例如,
<a id="refresh" href="${newUrl}">Refresh</a>
...
var url = window.location.href;
url += url.split("?").length > 1 ? "&newParam=value" : "?newParam=value";
document.getElementById("refresh").href = url;
如果您使用jQuery或PrototypeJS(如JavaScript框架),它会短得多。