Helpers - компьютеры, интернет, программирование

Поместите представления Spring MVC вне WEB-INF

У меня есть такая структура папок:

project/src/main/
  java/apps/
    blog/
      controllers/
        blogController.java
      models/
        post.java
      views/

  webapp/WEB-INF/views/
    blog/
      blog.jsp

Я хочу переместить blog.jsp из каталога WEB-INF/views в каталог apps/blog/views/, чтобы упростить перенос кода из одного весеннего приложения MVC в другое.

Я попытался создать свой собственный преобразователь представления, но преобразователь, похоже, разрешает только пути в каталоге webapp.

Я думал, что смогу использовать maven для сбора jsp в /WEB-INF/views/blog/ для цели maven, но я не могу найти четких инструкций для получения представлений в папке представлений под соответствующим имя приложения (views/blog)

Возможно ли иметь такую ​​​​настройку или есть лучший способ добиться этого?



Ответы:


1

Основываясь на вашем описании (и поведении maven по умолчанию), содержимое веб-приложения фактически находится в корне создаваемой WAR. Таким образом, любые виды, которые вы хотите, должны быть там, по крайней мере. Вы можете заставить maven настроить путь /src/main/webapp, если это то, что вы ищете.

Что касается расположения представлений внутри WAR, то внутри WEB-INF они мне тоже не нравятся. Я делаю следующее (обратите внимание, что существует множество вариантов преобразователей представления...)

    InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
    viewResolver.setViewClass(JstlView.class);
    viewResolver.setPrefix("/views/");
    viewResolver.setSuffix(".jsp");
    viewResolver.setExposeContextBeansAsAttributes(true);
    return viewResolver;

Приведенный выше код позволяет мне иметь представление, подобное /src/main/webapp/views/blogs/blog.jsp, и ссылаться на него по строке "blogs/blog".

19.05.2016
  • На самом деле это не позволяет мне перемещать представления в каталог приложений views ... могу ли я заставить maven скопировать все jsp в проекте и поместить их в корень войны при сборке? например, какой-то оператор включения? 19.05.2016
  • Новые материалы

    Интуитивное понимание тензоров в машинном обучении
    Тензор является важной концепцией во многих научных областях, таких как математика, физика, обработка сигналов и компьютерное зрение, и это лишь некоторые из них. В математике тензор — это..

    Использование машинного обучения для диагностики болезни Альцгеймера, часть 4
    Маркеры семантической согласованности для ранней диагностики болезни Альцгеймера (arXiv) Автор: Давиде Колла , Маттео Дельсанто , Марко Агосто , Бенедетто Витиелло , Даниэле Паоло Радичони..

    Почему объяснимость так важна прямо сейчас?
    По мере того, как системы искусственного интеллекта и инструменты на основе машинного обучения распространяются в нашей повседневной жизни, как практики, так и критики все чаще заявляют о..

    Анимированный математический анализ
    Использование Manim для создания математических анимированных визуализаций Визуализация данных помогает понять скрытые закономерности в данных, которые невозможно визуализировать..

    Создание простого слайдера изображений с помощью JavaScript
    Узнайте, как создать базовый слайдер изображений с помощью HTML, CSS и JavaScript. Введение В этом уроке мы создадим удобный слайдер изображений, используя JavaScript, HTML и CSS. Ползунок..

    Создание базы данных с помощью супергероя «Python»
    В этом посте мы узнаем, как создать «базу данных SQLite с помощью модуля python sqlite3, создав простую функцию входа и регистрации. Готовы ли вы к этому путешествию? Если да , давайте приступим..

    ИИ для чайников: руководство для начинающих по пониманию будущего технологий
    Вы чувствуете, что остались позади в мире ИИ? Не волнуйтесь, вы не одиноки! Со всей этой шумихой вокруг искусственного интеллекта может быть трудно понять, с чего начать. Но не позволяйте сленгу..