【问题标题】:Grails portlet plugin problemsGrails portlet 插件问题
【发布时间】:2023-06-01 00:10:01
【问题描述】:

想知道是否有人遇到过这个问题。我使用 grails portlet 和 liferay 插件创建了一个演示 portlet。

在项目中安装 grails 插件后,我只需运行以下命令

grails create-portlet MyFirst

grails generate-portlet-views MyFirst

grails liferay 部署

portlet 部署良好。但是,当我尝试将 portlet 添加到页面时,我得到以下堆栈跟踪。有人有什么想法吗?

23:04:52,134 ERROR [jsp:165] javax.servlet.ServletException: File "/WEB-INF/grails-app/views/myfirst/render.jsp" not found

我正在运行嵌入了 tomcat 6.0.18 版的 liferay 5.2.3 版。我也在使用 JVM 1.6

提前致谢。

【问题讨论】:

  • 所以我尝试将 render.gsp 添加到视图中,但这不起作用

标签: grails plugins portlet liferay


【解决方案1】:

Grails portlet 插件 (0.7) 的当前版本不支持大写的 portlet 名称。将 MyFirst 更改为 myfirst,它会像魅力一样工作(嗯,几乎;)

问候 阿玛兹

【讨论】:

    【解决方案2】:

    它似乎无法找到 render.gsp(如果未找到特定于模式的视图,则为 porltet 的默认 gsp)。

    generate-portlet-views 为您生成了什么?

    【讨论】:

    • 嗨,李超快速响应。所以 generate-portlet-views 命令生成了这三个 gsp: grails-app/views/myFirst/edit.gsp grails-app/views/myFirst/view.gsp grails-app/views/myFirst/help.gsp no render.gsp如果我手动创建 render.gsp 你认为这会解决问题吗?
    • 嗯,它应该默认处于查看模式,所以应该使用 view.gsp。当我在开发插件时,它只使用 Pluto,Kenji 从那时起就更进一步,并且对 Liferay 有了更多的经验。您可以尝试在邮件列表中与他取得联系(我认为他不这么看)或直接为李欢呼
    【解决方案3】:

    仔细查看您的堆栈跟踪 - 它会尝试查找 render.jsp,而不是 gsp。 render.jsp 是 LR 尝试查找的默认模板,如果它没有找到它要查找的内容,具体取决于操作。

    阅读 Armaz 的回答,他是正确的。您必须将模板文件夹名称更改为小写:myFirst => myfirst.

    您可能遇到的下一个问题在这里解决:Grails Liferay portlet not invoking action ;)

    【讨论】: