我问了这个问题here我有一个新的grails应用程序,索引页面由几个部分模板组成。我的每个部分模板都需要从不同的 Controller 加载数据,建议的解决方案是使用标记-我已经尝试过,但是什么也没有发生,并且在网上搜索后,我找不到任何实际可用的功能示例。
这是我的部分模板_newsFeed.gsp:
<div id="news_feed">
<g:include controller="news" action="latestsNews" /></div>
和我的 Controller NewsController.groovy:
class NewsController {
def latestsNews = {
println "in controller"
[news: "News Headline!"]
}
在上面的示例中,我只是试图确认正在调用 Controller (这就是println在其中的原因)-但我什么也没得到。
有人可以向我指出一个可行的示例,也可以解释我是否缺少某些东西?
谢谢
最佳答案
我没有发现您的代码有任何重大错误。您在NewsController中缺少右括号,但是我怀疑那只是一个错字。我只是测试了以下内容:
class HomeController {
def showMessage = {
println "Showing message"
[message: 'this is a message']
}
}
showMessage.gsp仅包含$ {message}。然后在我的index.gsp中
<g:include controller="home" action="showMessage" />
我得到正确的答复。您 View 中的其他所有内容都可以正确渲染吗?您确定带有include的页面实际上已被调用/渲染了吗?
关于templates - Grails g:include标签包含 Controller 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5370365/