6
某些框架(Spring,Tomcat本身)添加了默認情況下無法在EL表達式中使用的servlet請求屬性。一個例子是使用JSTL標記(dot字符)逃脫JSP EL
javax.servlet.forward.context_path = /myWebapp
因此,使用JSTL來獲取值,我通常會使用
<c:out value="${javax.servlet.forward.context_path}" />
然而,這不是工作,因爲EL解析器預計javax
是對象A和servlet
的關鍵成爲該對象的屬性(等等)。
所以我的問題是:我如何逃避點字符?
我使用
<c:out value="${javax\.servlet\.forward\.context_path}" />
嘗試,但無法運作或者從EL解析器會引發錯誤。
我知道,與地圖打交道時,我可以使用類似
<c:out value="${aMap['key.from.map.with.dots']}" />
但那不是來自請求的第一級對象的工作,因爲我也使用
<c:out value="${['javax.servlet.forward.context_path']}" />
嘗試這也不起作用。
任何想法?