5

Play フレームワーク バージョン 2 で純粋な html ファイルをレンダリングする方法はありますか? 後で動的な情報が追加されるため、 public/ フォルダーに入れたくありません。

4

3 に答える 3

13

これが私の解決策です:

ルート: 次のようにいくつかの構成を行います。

GET     /hello.html                 controllers.Assets.at(path="/public/html", file="hello.html")
GET     /public/javascripts/jquery-1.9.0.min.js     controllers.Assets.at(path="/public/javascripts", file="jquery-1.9.0.min.js")
GET     /public/stylesheets/bootstrap.css           controllers.Assets.at(path="/public/stylesheets", file="bootstrap.css")

そして、ファイル構造は次のとおりです。

public->HTML->hello.html
public->javascripts->jquery-1.9.0.min.js
public->stylesheets->bootstrap.css

hello.html の内容は次のとおりです。

<!DOCTYPE html>    
<html lang="en">
<head>
    <meta charset="utf-8">
    <link rel='stylesheet' type='text/css' href='/public/stylesheets/bootstrap.css'>
</head>    
<body>
    <script src="/public/javascripts/jquery-1.9.0.min.js" type="text/javascript"></script>
</body>
</html>

これらの 3 つの手順の後、外部 HTML を直接使用できます。フロントエンド開発作業を行うために Play テンプレートに従う必要はありません。そのため、現在、Play のみがバックエンドを担当しています。フロントエンド開発者は、この公開ファイルを操作するだけで開発を行うことができます。

于 2014-04-23T20:18:29.180 に答える
12

もちろん、静的なhtml全体を配置します。index.scala.html可能な限り簡単な方法で使用します。

public static Result index(){
    return ok(index.render());
}

これが基本です。Playのドキュメントとサンプルを参照してください。

于 2012-06-20T19:53:09.363 に答える
3

GET / controllers.Assets.at(path="/public/html", file="index.html")

これは私の場合、play 2.0.1 で動作しています。階層は公開 - html ---index.html

于 2013-07-09T18:50:41.503 に答える