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

Boz*_*zho 4 java jsp servlets jstl el

此问题表明转发时,请求对象中的信息会更新以反映新文件.例如,当:

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

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

request.getAttribute("javax.servlet.forward.request_uri");
Run Code Online (Sandbox Code Playgroud)

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

又怎样?

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

axt*_*avt 16

据我记忆,它是这样的:

${requestScope["javax.servlet.forward.request_uri"]}
Run Code Online (Sandbox Code Playgroud)