1

希望现在能更好地解释我的问题,我正在使用带有 java 的 play 2 框架来开发带有 html5 画布的草图系统。

前端将由 3 个不同的视图(页面)组成。一种用于渲染 html5 画布,一种用于渲染提交表单和显示标签。第三页作为管理员页面。想要创建这些视图并能够从一个呈现的视图或页面导航到另一个。

对不起,如果这是一个基本问题,但玩框架有点新。

对我的任何建议。

我知道使用了@helper 标签,但似乎不知道如何去做。

谢谢你。

4

1 回答 1

5

您不需要使用@helper或者@tags它们用于在其他模板中包含模板,只需使用普通渲染,首先创建文件:

  • 应用程序/视图/canvas.scala.html
  • 应用程序/视图/edit.scala.html
  • 应用程序/视图/admin.scala.html

所以然后在你的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());    
}

对于每个操作,您还需要创建一个routeconf/routes翻译”给定 URL 到正确操作(第一个是默认值):

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每个操作都有单独的操作。

最后,不要生我的气,但你需要花更多的时间研究官方文档并包含Java示例。我向您展示了基本场景,它允许您在三个页面之间导航,仅此而已。很可能编写工作应用程序是不够的,但是描述它是没有意义的——因为它已经在文档中描述并在示例中演示。

于 2012-08-29T14:55:26.137 回答