我最近在我的网站中激活了 trim-directive-whitespaces ,以这种方式编辑web.xml文件:
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<trim-directive-whitespaces>true</trim-directive-whitespaces>
</jsp-property-group>
</jsp-config>
这很好但我在这种情况下发现了一种奇怪的行为:
${myMap['literal']} ${myMap['literal']}
Output:valuevalue
请注意,在2个变量之间有一个空格,但是由于启用了此web.xml更改,因此不会打印此空格。
如果y在这些变量之间设置了一些文本,则输出是所需的:
${myMap['literal']}​ ${myMap['literal']}
Output:value value
注意:这个&#39; ​
&#39;是一个空的字符,但这适用于任何字母或其他字符
在我的JSP中获取此myMap变量的方法是使用来自
的jspContetx标记。getJspContext().setAttribute(key, map);//Map is an Map<String, Object>
我不明白为什么从我的JSP中删除它,当我使用scriptlet或其他vars时,这工作正常。有什么想法吗?