trim-directive-whitespaces удаляет нежелательные пробелы - PullRequest
0 голосов
/ 26 апреля 2018

Я недавно активировал 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']}&#8203; ${myMap['literal']}
Output:value value

Примечание: это '&#8203;' - пустой символ, но это работает с любой буквой или другим символом

Способ получения переменных myMap в моем JSP - через тег, используя jspContetx из

getJspContext().setAttribute(key, map);//Map is an Map<String, Object>

Я не понимаю, почему это удаляется из моего JSP, когда я использовал скриптлет или другие переменные, это работает нормально. Есть идеи по этому поводу?

...