当前位置: 首页 > 面试题库 >

使用JSTL标记(点字符)转义JSP EL

夹谷野
2023-03-14
问题内容

某些框架(Spring,Tomcat本身)添加了默认情况下无法在EL表达式内使用的Servlet请求属性。一个例子是

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']}" />

这也不起作用。

有任何想法吗?


问题答案:

如果您知道属性的范围,则可以从适当的隐式对象中获取它,例如

${requestScope['javax.servlet.forward.context_path']}

我不确定是否有隐式对象以这种方式检查所有范围{xxx}



 类似资料:
  • 问题内容: 某些框架(Spring,Tomcat本身)添加了默认情况下无法在EL表达式内使用的Servlet请求属性。一个例子是 因此,为了使用JSTL获得价值,我通常会使用 但是,这不起作用,因为EL解析器希望是对象A的键,并且是该对象的属性(依此类推)。 所以我的问题是:如何逃脱点字符? 我试过使用 但这也不起作用,并从EL解析器中引发错误。 我知道在处理地图时,我可以使用类似 但这不能处理请

  • 因此,我想访问子标记result1、result2、result3中父标记属性test1、test2、test3(这些属性的返回值为true/false)的结果,以根据返回的条件值显示输出,不管它是true还是false。 谢谢,开发者。

  • 我在这里做错了什么: 我一直在 但这很好: 显然我想避免 没有也不行,我的jstl不知道

  • 在 MySQL 中,除了常见的字符之外,我们还会遇到一些特殊的字符,如换行符、回车符等。这些符号无法用字符来表示,因此需要使用某些特殊的字符来表示特殊的含义,这些字符就是转义字符。 转义字符一般以反斜杠符号 开头,用来说明后面的字符不是字符本身的含义,而是表示其它的含义。MySQL 中常见的转义字符如下表所示。 转义字符 转义后的字符 \" 双引号(") \' 单引号(') \\ 反斜线(\) \

  • 这些正则表达式快把我累死了,不管我读什么,我都无法理解这个概念。 这是我的问题,我相信它非常容易解决。 我只想用

  • 问题内容: 有谁知道一种简单的方法来从jQuery的字符串中转义HTML ?我需要能够传递任意字符串并正确地对其进行转义以显示在HTML页面中(防止JavaScript / HTML注入攻击)。我敢肯定可以扩展jQuery来做到这一点,但是目前我对框架还不了解。 问题答案: 由于您使用的是jQuery,因此只需设置元素的属性即可:

  • IBM WAS:8.5.5版本 在JSP页面上有 错误500:java。lang.例外:java。lang.VerifyError:JVMVRFY012堆栈形状不一致;class=com/ibm/\u jsp/\u desktop,method=\u jspx\u meth\u c\u set\u 0(Ljavax/servlet/jsp/PageContext;)Z、 pc=73; 签名org/

  • 反斜线()用于插入在 Markdown 语法中有特殊作用的字符。 这是用来 *演示* 的 _文本_ 这是用来 *演示* 的 _文本_ 这是用来 演示 的 文本 这是用来 *演示* 的 _文本_ 这些字符包括: ` * _ {} [] () # + - . !