java – 使用JSTL标记转义JSP EL(点字符)
发布时间:2020-12-14 05:59:44 所属栏目:Java 来源:网络整理
导读:一些框架( Spring,Tomcat本身)添加了默认情况下不能在EL表达式中使用的servlet请求属性.一个例子是 javax.servlet.forward.context_path = /myWebapp 所以,为了使用JSTL获取值,我通常会使用 c:out value="${javax.servlet.forward.context_path}" / 但是这没
一些框架(
Spring,Tomcat本身)添加了默认情况下不能在EL表达式中使用的servlet请求属性.一个例子是
javax.servlet.forward.context_path = /myWebapp 所以,为了使用JSTL获取值,我通常会使用 <c:out value="${javax.servlet.forward.context_path}" /> 但是这没有用,因为EL解析器期望javaxto是对象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']}" /> 这也不起作用. 有任何想法吗? 解决方法
如果你知道属性的范围,那么你可以从适当的隐式对象中获取它,例如
${requestScope['javax.servlet.forward.context_path']} 我不确定是否有一个隐式对象以{xxx}的方式检查所有范围. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |