Изменения в файле .xhtml не отражены в браузере, требуется перезагрузка и сборка - PullRequest
4 голосов
/ 09 августа 2011

Если я внесу изменения в мой файл .xhtml, эти изменения не будут отражены на экране моего браузера.Чтобы заставить его работать, мне нужно каждый раз перезагружать сервер.Это кажется мне громоздким.

Я добавил следующие параметры контекста в мой web.xml:

<context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
</context-param>
<context-param>
    <param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name>
    <param-value>1</param-value>
</context-param>

Однако они не оказали никакого влияния.

МойСтек технологий указан ниже:

  • SWF 2.3.0
  • Primefaces 2.2.1
  • JSF 2
  • Spring Security 3
  • Spring 3.1.0M1I
  • EhCache
  • Apache Tomcat 6.0
  • STS 2.5.1.

Ответы [ 2 ]

6 голосов
/ 09 августа 2011

Если вы используете IDE, то вам необходимо также настроить IDE для немедленной публикации изменений на сервере.В противном случае веб-приложение, работающее на сервере, не получит никакого представления об этих изменениях.

Поскольку вы используете STS, который, в свою очередь, в основном представляет собой Eclipse для Java EE, в который предварительно загружено множество специфических для Spring плагиновЯ думаю, что дать общий ответ, нацеленный на Eclipse, более чем достаточно.

В Eclipse вам просто нужно дважды щелкнуть запись сервера в представлении Servers , а затем отредактировать Publishing раздел для установки Автоматически публиковать при изменении ресурсов и устанавливать интервал публикации как можно ниже.Это может быть даже 0 секунд.


enter image description here


Это javax.faces.FACELETS_REFRESH_PERIOD применяется только к файлам в контексте веб-приложения.Вам просто нужно как можно скорее убедиться, что IDE публикует изменения в контексте веб-приложения.

0 голосов
/ 11 февраля 2016

Я только что потратил пару часов, прежде чем узнал, что добавление antiResourceLocking="true" в качестве атрибута к элементу <Context> в приложениях context.xml вызывает ту же проблему в Tomcat 7: изменения в файлах Facelet не принимаются ; требуется перераспределение.

Удаление antiResourceLocking="true" или изменение его на antiResourceLocking="false" заставляет Tomcat работать, как ожидается, на этапе разработки проекта.

...