私はPlay Frameworkを使い始めていますが、私がしたいことを教えるためのまともなガイドはありません。 メモリとディスクの統計情報を取得するサービスがあります。このサービスを自動的にロード/コールし、コントローラからビューに値を渡したいと思います。Play Frameworkで自動的にデータビューを更新するには?
誰でも私にチュートリアルやヒントを教えていただけますか?
私はPlay Frameworkを使い始めていますが、私がしたいことを教えるためのまともなガイドはありません。 メモリとディスクの統計情報を取得するサービスがあります。このサービスを自動的にロード/コールし、コントローラからビューに値を渡したいと思います。Play Frameworkで自動的にデータビューを更新するには?
誰でも私にチュートリアルやヒントを教えていただけますか?
多くのレシピがあります。あなたが自動的に言うとき、私はあなたがユーザーの介入なしで意味すると仮定しています。したがって、あなたのウェブページはおそらくhttp meta refresh経由でjavascriptタイマーや古い慣習を使って、そのアップデートを開始する方法を必要とします。 javascriptタイマーの場合(たぶんsetTimeOut or setInterval)、コントローラAPIへのajax呼び出しを使用して、JSONのデータを返し、ページに挿入します。
on timer event ->
ajax.GET '/api/monitor' (data) ->
if data.success
update $("#results") with data.statistics
A非常に単純なビューだけかもしれません。この中
def apiMonitor = Action {
Ok(Json.obj(
"success" -> true,
"statistics" -> models.statisticsMethod()
))
}
:の行(再び疑似コード)に沿って話をする
@()
@main() {
<script src="your javascript.js" type="text/javascript">></script>
<div id="results">
</div>
}
及び制御方法、あなたのプレイビューはシンプルなコンテナになり、フロントエンドの作業はテンプレートで実際には行われません。リフレッシュ方法を使用して
、お使いのコントローラがビューを毎回返すことができ、コントローラScalaの擬似コード:
def apiMonitor = Action {
Ok(view.html.monitor(models.statisticsMethod()
}
とフォーマットを視野:
@(statistics:List[Statistic])
@main() { <!-- where main generates something with the meta refresh in -->
<table>
<tbody>
@statistics.map { statistic =>
<tr><td>@detail.attribute1</td><td><@detail.attribute2</td></tr>
}
</tbody>
</table>
}
ように設計する方法はたくさんあります。もの。上記は不完全ですが、あなたが必要とするいくつかのポイントをカバーしています。作業に非常に便利な場所は、作業するコードがあるLightBend Websiteのテンプレートの1つです。