如何在JSTL / EL中获取前向信息,作为包含点的属性

时间:2010-12-16 21:28:23

标签: java jsp servlets jstl el

This question表示转发时,请求对象中的信息会更新以反映新文件。例如,当:

  

用户请求“/ abc” - >调用servlet>转发到/def.jsp

然后在def.jsp ${request.requestURI}中将/def.jsp而不是/abc。如果想要获取原始请求的URI(或任何其他信息,如servlet路径等):

request.getAttribute("javax.servlet.forward.request_uri");

一切都很好,但是如何通过JSTL访问它。 ${javax.servlet.forward.request_uri}不起作用。点被视为运算符,而不是名称的一部分。在其他情况下,这可以通过将名称放在方括号中并引用它来解决。但是这里没有地图对象,${['javax.servlet...']}不起作用。

那么,怎么样?

(我可以将它放在servlet中的“无点”属性中,但这是一种解决方法)

1 个答案:

答案 0 :(得分:16)

据我记忆,它是这样的:

${requestScope["javax.servlet.forward.request_uri"]}