我需要在我正在构建的网站的页脚中创建一个顶级列表。页脚是在默认的SiteMesh布局模板(views/layouts/main.gsp
)中创建的。
为了创建toplist,需要访问数据库,因此我已经封装了在服务类(services/FooService
)中创建toplist所需的所有逻辑。
请注意,虽然通常从控制器层访问服务,但在这种情况下,默认布局模板(views/layouts/main.gsp
)从控制器生成而不是。
views/layouts/main.gsp
)可以访问服务类吗?怎么样?views/layouts/main.gsp
)与所述封装进行交互?答案 0 :(得分:8)
我建议创建一个标记库(documented here)来包装页脚的渲染。只需声明一个具有相同名称的字段,即可将服务注入标记库类。
然后从服务中获取您需要的内容,并直接或更好地输出html,然后使用_footer.gsp
创建render template: 'footer', model: [yourmodel: model]
和render it。
答案 1 :(得分:0)
您应该从控制器而不是视图访问您的服务。