Как остановить Tomcat / Java, упаковывающий мой вывод - PullRequest
0 голосов
/ 14 апреля 2011

У меня есть страница JSP, на которую я хочу вернуть фрагмент HTML.Проблема в том, что всякий раз, когда я запрашиваю JSP, что-то пытается сделать HTML более корректным, оборачивая вокруг него теги .Я не хочу, чтобы он делал это, хотя, поскольку он будет использоваться во многих других местах.

Например, следующий JSP:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<script src="${applicationConfig.javascriptUrl}update.js" language="javascript" type="text/javascript"></script>
<p>Wibble</p>

приведет к следующемуHTML:

<html  xmlns="http://www.w3.org/1999/xhtml"><head></head><script src="http://fisher.mycompany.com:8080/my-app/includes/js/update.js" language="javascript" type="text/javascript"></script>
<p>Wibble</p></html>

Мне действительно не нужны эти теги & , и я хотел бы от них избавиться, но понятия не имею, где это происходит, чтобы отключить их.У кого-нибудь есть какие-нибудь подсказки?

* Редактировать *

Чтобы дать немного больше информации о том, чего я пытаюсь достичь.Этот JSP проверит множество вещей и сформирует кусок HTML.Затем этот HTML-код может быть включен в другие приложения с помощью вызова веб-службы.

Ответы [ 3 ]

3 голосов
/ 14 апреля 2011

Сервлеты могут возвращать любой тип контента, включая JavaScript и изображения, а не только HTML.Tomcat не должен заворачивать jsps в посторонние теги.Я поместил предложенный вами фрагмент в jsp, за исключением taglib, который я не настроил, и получил именно тот HTML-код, который я вставил.

Не могли бы вы рассказать нам больше о вашей среде?Вы используете tomcat?Используете ли вы какие-то рамки?

0 голосов
/ 14 апреля 2011

Один подход может сработать, Создавайте HTML-файлы, как вам требуется действительный HTML, и используйте сервлет для возврата ответа, сервлет должен прочитать файл HMTL и вернуться его содержимое в виде строки, как XML-ответ от сервлета

надеется, что это поможет

0 голосов
/ 14 апреля 2011

Сервлеты - это фабрики HTML. Они ожидают отправки действительной HTML-страницы в браузер для отображения. Вы не можете «избавиться от этого», не сломав всю модель.

Ваша первоначальная концепция отправки фрагмента, который «используется в других местах», ошибочна. Похоже, вы хотите установить некоторые данные, которые могли бы использоваться в других местах - это действительно так, - но я не вижу, как имеет смысл оборачивать их в разметку.

Только JSP должен использовать размеченные данные. JSP все о дисплее. Я бы переосмыслил то, что ты делаешь, и напал бы на то, как ты хочешь поделиться данными, а не на разметку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...