2016-12-07 6 views
0

オブジェクトのJSON表現を作成してテンプレートに送信するテストアプリケーションを作成していますが、JSONをフロントエンドのJSスクリプトで使用したいと考えています。私はこれを行うためにRatpackとJava Handlebarsを使用しています。kハンドルバーを使用したテンプレートへのJSONの送信javaおよびratpac

は、ここに私のRatpackハンドラ

class HighChartHandler extends InjectionHandler { 

    void handle(Context ctx, TestDataJson testDataJson) { 
     testDataJson.goals = 1000 
     testDataJson.name = "Nick" 
     def jsonData = json(testDataJson) 
     ctx.render(handlebarsTemplate('highchartTest.html', model: jsonData)) 
    } 
} 

され、その後、私はこのメッセージを取得しかし、単に

<h1>Graph Test</h1> 
<p>This is a WIP highchart test</p> 
<p>{{model}}</p> 

使用して、ページ上のデータをレンダリングしてみてください:

ratpack.jacksonを。 [email protected]

私は単純に

{"name":"Forlan","goals":1000} 

答えて

1

を使用してみてくださいそれをテンプレートを通して再実行し、それは単にJackson.json方法がRendererとしてRatpackで知られているものを返し467db85c`

@()which results in what you're seeing: ratpack.jackson.internal.DefaultJsonRender「JsonRender#1のtoStringを呼び出しています。あなたがRendererに提供したオブジェクトを表現する方法をRatpackに伝えます。

HTMLと混合JSONを生成するために、私はこのようなものだろう:私はこれをテストしていませんが、それは動作するはず

def jsonData = new groovy.json.JsonOutput.toJson(testDataJson) 
ctx.render(handlebarsTemplate('highchartTest.html', model: [model: jsonData])) 

を。

+0

ありがとう、ありがとう – pocockn

関連する問題