题
如何在网站的每个页面上实现一个小部件(来自数据库调用)?
语境
我有一个带有侧边栏的传统Web应用程序。侧边栏包含以下数据:
到目前为止的解决方案
如官方文档中所示,可以在模板内部渲染模板。这是一个有趣的功能,但还不够。由于我需要数据库中的数据才能在我的小部件中呈现。
这意味着:
我想做的就是Symfony2框架中存在的东西。我希望能够直接调用 Controller 。
{% render MyController:MyActionMethod %}
如何实现这种机制?
PS:是的,我已经搜索了一下。找到此问题“类似问题”:How to avoid passing parameters everywhere in play2?
最佳答案
首先介绍了两种解决方案-它将来自 Controller 的数据作为某种对象进行传递,然后使用tags
进行呈现。
第二种解决方案是相反的,因为在Play 2
中,每个模板只是一个Scala函数,您也可以只在 Controller 中调用某个方法,该方法将获取所需的数据并呈现子模板。
即。从模板使用访问controllers.MyController.myMethod(Integer a, Integer b)
<div>
@MyController.myMethod(1,2)
</div>
关于model-view-controller - 如何在PlayFramework2上实现小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11448784/