java – 如何在JSP标签中正确地转义三重嵌套引号

我们刚刚升级了Tomcat,较新的Tomcat不喜欢在标签中嵌套引号,所以我们必须在单引号和双引号之间进行交替.例如,

我们曾经有过,

<form id="search" action="<fmt:message key="search.url"/>">

现在我们可以把它改成,

<form id="search" action="<fmt:message key='search.url'/>">

如果报价是这样三重嵌套的,该怎么办?

<form id="search" action="<fmt:message key='<c:out value="${requestScope.search_url}"/>'/>">

上述标签无法编译.

解决方法

如果您不想更新所有jsp:s仅用于tomcat升级,请将系统属性 “org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING”设置为false.

最简单的方法是通过编辑catalina.sh并将以下内容添加到JAVA_OPTS中:

-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...