Grails - плагин для просмотра страниц - PullRequest
0 голосов
/ 18 января 2011

У меня есть плагин с доменом, контроллером и просмотром страниц. (С использованием грааля 1.3.6)

Я запускаю плагин как автономный, представления работают нормально. URL: http://localhost:8080/sample-plugin/gp/list. Я могу просмотреть страницу списка.

Я установил плагин в основное приложение, то есть плагин-тест. Запустите как приложение запуска в STS и перейдите к http://localhost:8080/plugin-test/gp/list. Я могу просмотреть страницу списка.

Я связываю приложение как war, то есть plugin-test.war, и внедряю в tomcat. Когда я просматриваю http://localhost:8181/plugin-test/gp/list, я получаю ошибку 404! Я не уверен, что я делаю неправильно.

Я уже давно пытаюсь решить эту проблему, но до сих пор не повезло. То же основное приложение отлично работает в STS, но не в tomcat.

HTTP Status 404 - /plugin-test/WEB-INF/grails-app/views/gp/list.jsp

type Status report

message /plugin-test/WEB-INF/grails-app/views/gp/list.jsp

description The requested resource (/plugin-test/WEB-INF/grails-app/views/gp/list.jsp) is not available.

Пожалуйста, помогите.

Спасибо.

Джей Чандран.

Ответы [ 2 ]

0 голосов
/ 17 июня 2011

Обмен некоторыми из моих уроков, полученных после той же самой проблемы (1.3.7):

  • Дважды проверьте исходный код HTML, чтобы убедиться, что ваш шаблон действительно не включен. Мой был включен, но мои URL CSS / изображения были неправильными (только во время войны) ... поэтому я ошибочно предположил, что моего шаблона там не было.
  • Не используйте теги производительности пользовательского интерфейса для ссылки на статический контент ... не работает, даже если указан атрибут плагина.
  • Не называйте свой макет main.gsp. Вы гарантированно будете иметь конфликты.
  • Не используйте absolute = true в тегах g: resource. Похоже, что это не добавляет pluginContextPath к абсолютному URL, даже если вы укажете dir = "$ {pluginContextPath}"
  • Не используйте pluginContextPath, так как он больше не требуется: http://grails.org/doc/latest/guide/single.html#6.3%20Tag%20Libraries (поиск "Пути к плагину")
  • В тегах g: resource в макете плагина убедитесь, что вы указали атрибут плагина. Установите имя вашего плагина.
  • Переместите ваши статические изображения / CSS из вашего плагина на веб-сервер. Если каждое приложение, использующее ваш плагин, имеет свою собственную копию, ваши пользователи не получат выгоду от кэширования при переходе между приложениями.

Обратите внимание, что все вышеперечисленное относится к макету gsp в вашем проекте плагина, а не к приложению-потребителю.

0 голосов
/ 18 января 2011

Звучит тревожно знакомо, поскольку я потратил некоторое время на выяснение этой (или очень похожей) проблемы.Я закончил тем, что поднял этот отчет об ошибке Grails:

Макет плагина, не найденный в войне, когда установлен из BuildConfig.groovy

Вы установили плагин как использующий новую зависимость BuidConfigтехника?JIRA документирует мой обходной путь.

...