Пытается использовать JSPX и работать в странной проблеме. Текст внутри jsp: текст не должен подвергаться удалению пробелов в соответствии с документацией JSP, но когда у меня есть текстовый элемент jsp: с ведущими пробелами в начале файла tagx, при использовании в представлениях jspx ведущий пробелы исчезают.jsp: текст, теряющий пробел внутри tagx
Я проделал довольно много работы в Google, но не могу найти причину удаления. Я проверил, что те же jsp: текстовые экземпляры, включенные непосредственно в представление jspx, работают правильно, но помещены в отдельный файл tagx, заставляя его потеряться.
Это под Jetty 6.1.19 и 6.1.22 с использованием библиотек JSP 2.1.
EDIT: Ниже приведен пример кода образца. Обратите внимание, что пробелы, ведущие и завершающиеся в тегах <jsp:text>
, удаляются. Судя по документации JSP, я вижу, что пробелы внутри них должны быть сохранены.
WEB-INF/Вкладки/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>
Если вы замените пробелы точками или чем-то, они сохранены? Вы уверены, что нет другого места вокруг тега, который удаляет пробелы? Является ли пробелы вне тега удалены также или это только пробел вашего jsp: текст, который исчезает? – Brimstedt
Обратите внимание, что теги jsp: text, которые теряют свои пробелы, находятся непосредственно под корнем jsp: файла tagx, и ничто не окружает их в файле jspx. Подобные jsp: текстовые теги непосредственно внутри файла jspx сохраняют свои ведущие и конечные пробелы, но те, что находятся внутри файла tagx, этого не делают. –
Я не совсем уверен, в чем проблема. «Test = value» имеет пробелы на выходе. Элементы t: nameValuePair не имеют пробелов, что является правильным. Результат выглядит правильно! Один комментарий, который я могу сделать, это то, что есть два закрывающих тега. – Joshua