Как получить контроллер внутри шаблона Play Framework?
-
21-12-2019 - |
Вопрос
Я использовал playframework2.2:
Мой шаблон:
@(topiclink:String, head: String, rate: Int, topicid:Int, summary: String, pic_url:String)
@if(topiclink=="Shoplist"){
<a class="list-group-item" href="@routes.ShoplistController.pagelist(topicid.toString())">
}else {
<a class="list-group-item" href="@routes.PageController.pagelist(topicid.toString())">
}</a>
.
Я хочу написать больше OOP, я имею в виду, я хочу использовать параметр:
@(topiclink:Controller, head: String, rate: Int, topicid:Int, summary: String, pic_url:String)
.
а затем может напрямую @ topiclink.pagelist (topicid.tostring ())
Тогда я могу напрямую добраться до соответствующего контроллера PageList.
Решение
Передача в контроллере напрямую, вероятно, плохая идея - рассмотреть возможность контроллера создавать объекты, которые представляют данные (PageList), которые вы хотите.
Независимо от того, что бы вы ни «проходили», - это контроллеры, чтобы «пройти его» - помните все эти вещи, являются параметрами.Если вы действительно хотите, чтобы контроллер, то в контроллере, в котором вы создаете свою страницу, используйте ключевое слово
views.html.index.myPage(this, otherParam, ...)
. Не связан с StackOverflow