Пытаюсь использовать JSPX и сталкиваюсь со странной проблемой. Предполагается, что текст внутри jsp:text не подлежит удалению пробелов в соответствии с документацией JSP, но когда у меня есть элемент jsp:text с начальным пробелом в начале файла tagx, при использовании в представлениях jspx начальный пробел исчезает.
Я немного погуглил, но не могу найти причину, по которой это удаляется. Я проверил, что одни и те же экземпляры jsp:text, включенные непосредственно в представление jspx, работают правильно, но помещаются в отдельный файл tagx, что приводит к его потере.
Это в Jetty 6.1.19 и 6.1.22 с использованием библиотек JSP 2.1.
EDIT: Ниже приведен пример кода. Обратите внимание, что пробелы в начале и конце тегов <jsp:text>
удаляются. Судя по документации JSP, которую я вижу, пробелы внутри них должны быть сохранены.
WEB-INF/tabs/nameValuePair.tagx:
<jsp:root version="2.0" xmlns:jsp="http://java.sun.com/JSP/Page">
<jsp:directive.attribute name="name" type="java.lang.String" required="true"/>
<jsp:directive.attribute name="value" type="java.lang.String" required="true"/>
<jsp:text> ${name}=${value} </jsp:text>
</jsp:root>
test.jspx:
<jsp:root version="2.0" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:t="urn:jsptagdir:/WEB-INF/tags">
<jsp:directive.page contentType="text/html; charset=ISO-8859-1" />
<html>
<head>
<title>Test</title>
</head>
<body>
<t:nameValuePair name="name" value="Google" />
<t:nameValuePair name="age" value="11" />
<t:nameValuePair name="description" value="Popular Search Engine" />
<jsp:text> test=value </jsp:text>
</body>
</html>
</jsp:root>
выход:
<html><head><title>Test</title></head><body>name=Googleage=11description=Popular Search Engine test=value </body></html>