1

こんにちは、playframework 2 で口ひげテンプレートを使用しようとしています。したがって、私の index.scala.html は次のようになります。

@import com.feth.play.module.pa.views.html._

<!doctype html>
<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]-->
<!--[if IE 7 ]>    <html lang="en" class="no-js ie7"> <![endif]-->
<!--[if IE 8 ]>    <html lang="en" class="no-js ie8"> <![endif]-->
<!--[if IE 9 ]>    <html lang="en" class="no-js ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html lang="en" class="no-js"> <!--<![endif]-->
<head>


<title>Test</title>

<script data-main="@routes.Assets.at("javascripts/main.js")" src="@routes.Assets.at("javascripts/require.js")"></script>


<body>
<header> 
</header>
</body>
</html>

バックボーン ビューを介してヘッダーを挿入しています。

define(['use!jquery', 'use!underscore', 'use!backbone', 'text!templates/View.HeaderView.html',
    'bootstrap', 'bootstrap-dropdown'],
    function($, _, Backbone,headerViewTemplate) {


    return Backbone.View.extend({

        el: $('header'),

        events: {

        },

        initialize: function(options) {
            console.log('headerview init');
            this.template = headerViewTemplate;
        }
}

View.HeaderView.Html は次のように定義されます。

 <div id="auth-status">
                            @currentAuth() { auth =>
                            @if(auth != null) {
                            <div class="btn-group pull-right" id="auth-loggedin" style="display:auto">
                                <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
                                    <i class="icon-user" id="auth-displayname"></i> Welcome
                                    <span class="caret"></span>
                                </a>
                                <ul class="dropdown-menu">

                                    <li><a href="#">Settings</a></li>
                                    <li class="divider"></li>
                                    <li><a href="@com.feth.play.module.pa.controllers.routes.Authenticate.logout" id="auth-logoutlink">Sign Out</a></li>
                                </ul>
                            </div>
                            }
                            @if(auth == null) {
                            @forProviders() { p =>
                            <div class="btn pull-right" id="auth-loggedout">
                                <a href="@p.getUrl()" id="auth-loginlink">
                                    <i class="icon-user"></i> Login With Facebook</a>
                            </div>
                            }


                            }
                            }
</div>

したがって、私が抱えている問題は、scala テンプレートが scala コードではなく通常のテキストとして表示されることです。コードを index.scala.html に配置すると、機能します。

ヘルプ!!!

4

1 に答える 1

1

View.HeaderView.Htmlファイルは scala コードとして検出されず、実行/コンパイルされません。

  • まず、viewsアプリケーションのパッケージに配置します。
  • 次に、.scala.html拡張機能を使用します。そうしないと、コンパイラはそれを見つけられません。
于 2012-10-18T07:48:35.740 に答える