読者です 読者をやめる 読者になる 読者になる

JSON を Wicket1.5 から出力

JSON データを Wikcet で出力するサンプル
Google GSON で書いてみた。
コンテンツタイプを、application/json と指定することになるようだ。

import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.request.handler.resource.ResourceStreamRequestHandler;
import org.apache.wicket.request.resource.ContentDisposition;
import org.apache.wicket.util.resource.StringResourceStream;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
  :
  :
// JSON に変換する任意のオブジェクト --> FooData
final FooData data = new FooData();

final GsonBuilder builder = new GsonBuilder();
// Data型の format を指定
builder.setDateFormat("yyyy/MM/dd HH:mm:ss");

//リンクをクリックでJSON形式文字列を返すとすると、、、

add(new Link<Void>("jsonout"){
   @Override
   public void onClick(){
      Gson gson = builder.create();
      getRequestCycle().scheduleRequestHandlerAfterCurrent(
         new ResourceStreamRequestHandler(new StringResourceStream(
gson.toJson(data),"application/json; charset=utf-8"))
         .setFileName("demo.json")
         .setContentDisposition(ContentDisposition.ATTACHMENT)
      );
   }
});