$ {requestScope ['javax.servlet.forward.query_string']}将变为空

时间:2014-02-10 16:44:48

标签: java jsp jstl

${requestScope['javax.servlet.forward.servlet_path']}<我可以从我的URL中获取适当的值...例如

如果我有网址http://localhost:8080/myapp/request1,我可以在/myapp/request1的帮助下获得${requestScope['javax.servlet.forward.servlet_path']},但是有些网址可能会附加一些查询字符串,例如http://localhost:8080/myapp/request1?text=abc

在这种情况下,我想要包含查询字符串/myapp/request1?text=abc的网址,我尝试使用${requestScope['javax.servlet.forward.query_string']},但这是空的。

任何人都可以帮助我理解${requestScope['javax.servlet.forward.query_string']}是空的吗?或者什么是处理上述2个案件的最佳方法

1 个答案:

答案 0 :(得分:1)

要获取附加了查询字符串的上下文相对路径,请使用过滤器或前端控制器servlet中的以下代码:

contextRelativePath = request.getRequestURI().substring(
                request.getContextPath().length()).toLowerCase().trim();
String queryString = request.getQueryString();
if(queryString != null){
    contextRelativePath += queryString;
}
request.setAttribute("path", contextRelativePath);

您现在可以在$ {path}

中访问JSP中的路径