在Play 2.0中使用JSON模板

Bra*_*ace 6 templates json playframework playframework-2.0

我收到这个错误:

编译错误[package views.json.Runs不存在]

什么时候它确实存在.我无法弄清楚我可能做错了什么.

Runs控制器中的动作:

@BodyParser.Of(play.mvc.BodyParser.Json.class)
public static Result view(Long task_id, Long run_id) {
    Run run = Run.find.byId(run_id);
    return ok(views.json.Runs.view.render(run));
}
Run Code Online (Sandbox Code Playgroud)

app/views/Runs/view.scala.json:

@(run: Run)

{
    "started": "@run.started",
    "completed": "@run.completed"
}
Run Code Online (Sandbox Code Playgroud)

我已经有一些html模板工作了,但这是我用2.0尝试过的第一个JSON模板.我不知道还有什么可以尝试,因为它已经尽可能基本.有人有主意吗?

更新:我已经获得了一些解决方法的建议,但我仍然有兴趣了解如何使模板正常工作,如果只是为了更好地理解对2.0的更改.

eja*_*ain 7

默认情况下,似乎只支持html,xml和txt.对于其他文件扩展名和格式,您必须在其中注册其他"templateTypes" $PLAY_HOME/framework/src/sbt-plugin/src/main/scala/PlaySettings.scala(另请参阅:底部附近的SBT设置).

查看其中的标准模板类型定义可能会有所帮助$PLAY_HOME/framework/src/play/src/main/scala/play/api/templates/Templates.scala.

您也可以从txt文件中欺骗并提供json,但response().setContentType("application/json")在调用render方法之前请执行此操作.