我一直在尝试将 Grails Portlet 插件与 Liferay 一起使用,但无论教程怎么说,我似乎都无法呈现不同的页面:
查看映射
对于那些支持它的请求类型('resource'、'render'),可以通过让 portlet 操作闭包返回一个映射来返回一个模型。模型将使用以下规则(按先例顺序)传递给视图:
'XXX/xyz.gsp' 其中'XXX' 是portlet 的名称(例如XXXPortlet.groovy),'xyz' 是请求中'action' 参数的值。
'XXX/MODE.gsp' 其中'XXX' 是portlet 的名称(例如XXXPortlet.groovy),'MODE' 是当前的portlet 模式(例如'view')
'XXX/render.gsp'
到目前为止,我已经能够通过此代码触发特定操作:
<form method="post" action="${portletResponse.createActionURL()}">
<input type="hidden" name="action" value="testPage"/>
<input type="submit" value="action">
</form>
这将触发一个代码块:
def testPage = {
println "TESTPAGE METHOD"
}
然而,之后它总是会渲染 View.gsp,不像它所说的 XXX/testPage.gsp 会起作用。
此外,我尝试使用 createRenderURL() 而不是 createActionURL() 但 portlet 将呈现一个空白页面,我似乎无法在日志中找到它试图查找的页面。
对此的任何帮助都会很棒,谢谢!