希望现在能更好地解释我的问题,我正在使用java的play 2框架来开发一个带有html5 canvas的草绘系统。
前端将由3个不同的视图(页面)组成。一个用于渲染html5画布,一个用于渲染提交表单和显示标签。第三页作为管理员页面。 想要创建这些视图,并能够从一个渲染的视图或页面导航到另一个。
很抱歉,如果这是一个基本问题,而是一种新的游戏框架。
对我的任何建议。
我知道@helper标签已被使用,但似乎不知道如何去做。
谢谢。答案 0 :(得分:5)
您不需要使用@helper
或@tags
将模板包含在其他模板中,只需使用常见渲染,首先创建文件:
然后在你的Appliaction
控制器中创建代表每个视图的三个动作
public static Result canvas(){
return(views.html.canvas.render());
}
public static Result canvas(){
return(views.html.edit.render());
}
public static Result canvas(){
return(views.html.admin.render());
}
对于每个操作,您还需要在route
中创建conf/routes
,以便将给定网址“翻译”为正确的操作(首先是默认操作):
GET / controllers.Application.canvas()
GET /edit controllers.Application.edit()
GET /admin controllers.Application.admin()
最后在每个视图中添加该块,以便在每个页面上显示“主菜单”。注意:使用reverseRouting作为href
链接以确保它们始终正确 - 即使您在路由中更改某些内容(事实上,在这里您可以使用@tags将此块从一个文件包含到多个视图中,但是现在手动放置):
<div class="main-nav">
<a href='@routes.Application.canvas()'>Canvas page</a>
<a href='@routes.Application.edit()'>Edit form</a>
<a href='@routes.Application.admin()'>Admin area</a>
</div>
您现在有3个操作的基本应用程序示例,每个操作都有单独的view
。
最后,不要生我的气,但你需要花更多的时间研究official documentation并包含Java样本。我向您展示了基本场景,它允许您在三个页面之间导航,而不是其他任何内容。最有可能的是,它不应该编写工作应用程序,但是描述它没有意义 - 正如它在文档中描述并在样本中演示。