【问题标题】:Play! Framework - creating simple html links玩!框架 - 创建简单的 html 链接
【发布时间】:2015-03-18 01:45:58
【问题描述】:

我有一个使用几个 HTML 文件和一个 CSS 文件创建的网站。我目前正在尝试切换到 Play!斯卡拉框架。出于某种原因,我很难弄清楚如何将一个 html 页面链接到另一个页面。

现在我所有的 html 文件都保存在“views”文件夹中,名称为“index.scala.html”、“aboutpage.scala.html”等。在简单的 HTML 中,要创建一个指向新页面的按钮链接,它看起来像这样:

        <form action="index.html" method="get">
            <button class="navlink">Home</button>
        </form> 
        <form action="aboutpage.html" method="get">
            <button class="navlink">About Us</button>
        </form>
        <form action="publications.html" method="get">
            <button class="navlink">Publications</button>
        </form>

这不适用于 Play!显然,我想我可能需要使用 Application 和 controllers 文件。您如何通过 Play! 在您的网站中创建不同的页面?

谢谢

【问题讨论】:

    标签: html scala playframework-2.0


    【解决方案1】:

    查看Reverse Routing的文档:

    假设你有这样的路线:

    GET   /about          controllers.Application.about()
    

    您可以将您的 HTML 更改为:

    <form action="@routes.Application.about()" method="get">
    

    【讨论】:

    • 嘿@Todd 感谢您的快速回复。如果我当前的应用程序文件看起来有点像这样: public static Result index() { return ok(index.render("APP IS READY")); } public static Result uploadSuccess(){ return ok("Got request" + request() + "!");我应该如何创建 about() 方法?我尝试了一个看起来类似于 index() 方法的简单方法,但我仍然对如何将它链接到 aboutPage.scala.html 视图感到困惑。我也不需要 URI 是动态的。再次感谢!
    • @Cazs 需要认识到的关键点是,您的 *.scala.html 源文件并不像过去那样真正被视为 Web 服务器上的用户可见路径。它们只是生成 HTML 数据的模板。它们不必与路由命名相同。并且路由的控制器可能使用 0 个或多个模板,具体取决于您在做什么。路由定义了您的应用程序的 URL,反向路由是您如何生成这些 URL 以用作链接、表单操作等的方法。这是一件美妙的事情,因为它让您依赖编译器来保持内部链接的稳定。
    猜你喜欢
    • 2012-08-11
    • 2013-12-25
    • 1970-01-01
    • 2012-07-28
    • 2019-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多