Nano Hash - криптовалюты, майнинг, программирование

Как включить фрагмент html в jsp, который загружается во время выполнения?

Мне нужно включить контент в JSP без использования директивы include.

Включение на стороне сервера легко выполнить с помощью <%@include file="includeMe.htm" %>, но содержимое includeMe.htm добавляется в JSP до того, как JSP преобразуется контейнером в сервлет. Это означает, что если includeMe.htm изменяется, изменения не отражаются в сгенерированном файле .java сервлета. Я устал заходить в каталог сгенерированных файлов Tomcats, чтобы вручную удалять сгенерированные файлы java и class или повторно развертывать мое приложение каждый раз, когда изменяется включенный файл.

Нужно ли мне писать блок кода, чтобы просто считывать данные из текстового файла построчно, а затем писать так?

 <%
    while( not done reading from file ) {
        String line = scanner.nextLine();
        response.getWriter().println(line);
    }  %>

Есть ли более простой или чистый способ?

17.11.2013

  • Вы можете использовать .tag файлы для повторного использования контента или выполнить <jsp:include> (отправку INCLUDE). Однако Tomcat должен иметь возможность перекомпилировать JSP с такими зависимостями, насколько мне известно... возможно, это потому, что вы используете неправильное расширение. Вместо этого попробуйте использовать .jspf (фрагмент JSP). 17.11.2013
  • Как я и думал, Tomcat должен уметь обрабатывать изменения во включенных фрагментах — tomcat.apache.org/tomcat-7.0-doc/jasper-howto.html (отметьте Перекомпилировать JSP при включенных изменениях страницы). 17.11.2013
  • Если вы хотите включить содержимое includeMe.htm во время выполнения вместо команды компиляции, используйте jsp include вместо @include. Относится ли это к вашему запросу? 17.11.2013
  • @Pavel По какой-то причине я подумал, что это простое решение не работает, потому что прилагаемая страница jsp не была изменена. Пожалуйста, измените свой комментарий на ответ, чтобы другим было легче найти его при поиске. 17.11.2013
  • Возможно, это новая функция Tomcat. Например, ссылка ниже описывает мое предположение: javapapers.com/jsp/ В любом случае, я думаю, <jsp:include> сработало бы. 17.11.2013
  • @Thorn Создал правильный ответ. Кстати. эта функция есть, по крайней мере, с Tomcat 6 ... Также я знаю, что интеграция Tomcat / Eclipse имеет небольшую проблему, когда вы слишком рано пытаетесь получить доступ к измененной странице (например, через одну секунду после ее модификации). 17.11.2013

Ответы:



Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..