#grails #grails-plugin #gsp
Вопрос:
Я пытаюсь написать плагин grails, который может просматривать файлы. На самом деле, я просто пытаюсь обновить вот это… https://github.com/intelligrape/File-Viewer-Grails-Plugin в grails4 и заставьте его работать в моем приложении.
В любом случае, после того, как я заставлю его работать в приложении, я посещаю http://localhost:8080/file/index и я получаю эту ошибку:
URI
/file/index
Class
javax.servlet.ServletException
Message
Could not resolve view with name '/plugins/file-explorer-0.1/file/fileList' in servlet with name 'grailsDispatcherServlet'
Это происходит, когда контроллер делает это…
def index(String filePath) {
Map model = [locations: fileLocations.locations]
// blah blah
render(view: "/file/fileList", model: model, plugin: 'fileExplorer')
}
Вызывается метод render () (я проверил в отладчике). Я также попытался удалить параметр plugin:, но это не имело никакого значения.
Теперь, если я запущу плагин как отдельное приложение (перейдя в эту папку и запустив «grails run-app», то он будет работать так, как ожидалось, и http://localhost:8080/file/index отображает представление так, как можно было бы ожидать.
Все это наводит меня на мысль, что плагин в основном работает и установлен в моем приложении, ЗА ИСКЛЮЧЕНИЕМ компонента представления, который по какой-либо причине не может найти представления из плагина.
Если вы хотите знать, как выглядит источник, это в основном то, что вы видите здесь:.. https://github.com/intelligrape/File-Viewer-Grails-Plugin За исключением того, что я переименовал его из FileViewer в FileExplorer.
Я использую grails 4.1.0.M5, я не знаю, может ли это быть ошибкой в этой версии или чем-то еще.
Ответ №1:
Кажется, мне следовало бы
plugin: 'filexplorer'
вместо
plugin: 'fileExplorer'
Я мог бы поклясться, что уже пробовал это. Я думаю, дело в том, что может быть непонятно, какое имя использовать, где, что касается плагинов, например, в имени build.gradle, имени в *Plugin.groovy, имени в settings.gradle, имени пакета и т. Д. В любом случае, я как-то облажался.