i have play scala 2.5 application. know how return twirl template (if possible) inside twirl template scala code.
example : have several twirl templates corresponding html input element. 1 template input text, input checkbox , on. have main template , inside call helper method scala object or class , based on condition return twirl template wanted input element.
in answer suppose templates have same input parameters , output type(html). play docs templates compiled normal scala functions.
for example, let's have 2 templates, template1 , template2, , both have input parameter a: string. main template should use either of two, has parameter of template: string => htmlformat.appendable.
template1:
@(a: string) @{ + " world!" } template2:
@(a: string) @{ + " stackoverflow!" } main:
@(template: string => htmlformat.appendable) @template("hello") if pass template1 "hello world!", , if pass template2 "hello stackoverflow!".
now, define method gettemplate wanted template:
val t1 = views.html.template1.apply _ val t2 = views.html.template2.apply _ def gettemplate(param: int) = if(param == 1) t1 else t2 and application controller method:
def showtemplate(param: int) = action { val template = gettemplate(param) ok(views.html.maintemplate(template)) } and route, of course:
get /template/:id controllers.application.showtemplate(id: int)
Comments
Post a Comment