こんにちは、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 に配置すると、機能します。
ヘルプ!!!