Niektóre frameworki (Spring, Tomcat) dodają atrybuty żądań serwletów, których nie można używać domyślnie w wyrażeniu EL. Przykładem może byćEscape JSP EL przy użyciu znaczników JSTL (znak kropki)
javax.servlet.forward.context_path = /myWebapp
Tak więc, aby uzyskać wartość za pomocą JSTL bym normalnie używać
<c:out value="${javax.servlet.forward.context_path}" />
Jednak to nie działa, ponieważ parser EL spodziewa javax
być kluczem obiektu A i servlet
być własnością tego obiektu (i tak dalej).
Moje pytanie brzmi: Jak mogę uciec z charakteru kropki?
Próbowałem za pomocą
<c:out value="${javax\.servlet\.forward\.context_path}" />
ale to nie działa albo i zgłasza błąd z parsera EL.
wiem, że gdy mamy do czynienia z mapami mogę użyć czegoś jak
<c:out value="${aMap['key.from.map.with.dots']}" />
ale to nie działa z poziomu pierwszego obiektu z żądania, ponieważ ja również próbowałem przy użyciu
<c:out value="${['javax.servlet.forward.context_path']}" />
który też nie działa.
Wszelkie pomysły?