Playframework 2.0 japid42模板引擎-直接更改默认japid根视图

Playframework 2.0 japid42模板引擎-直接更改默认japid根视图,playframework-2.0,japid,Playframework 2.0,Japid,如果使用Play2和的示例应用程序,您将看到它在以下默认结构下保存japid的视图: {your_app}/japidroot/japidview 如何将其更改为:{your_app}/app/views?(到标准/经典剧本的结构)确定。我已经弄明白了 public class Global extends JapidRenderer { @Override public void onStartJapid() { setTemplateRoot("app");

如果使用Play2和的示例应用程序,您将看到它在以下默认结构下保存japid的视图:

{your_app}/japidroot/japidview

如何将其更改为:
{your_app}/app/views?
(到标准/经典剧本的结构)

确定。我已经弄明白了

public class Global extends JapidRenderer {
    @Override
    public void onStartJapid() {
        setTemplateRoot("app");
...
此配置说明japid“app”文件夹是japid脚本所在的根目录,然后它尝试查找“japidviews”文件夹

因此,我需要做的是:

  • 在app/RapidView中创建我的快速模板(html文件)
  • 使用setTemplateRoot(..)方法,让japd知道这个“RapidView”的位置
  • 对我来说,有“日本观点”是可以的,但是有“观点”。至少它在“app”目录中,但不在外部

    import play.Play;
    import play.mvc.Http.RequestHeader;
    import play.mvc.Result;
    import play.mvc.Results;
    import cn.bran.japid.template.JapidRenderer;
    import cn.bran.play.JapidController;
    
    public class Global extends JapidRenderer {
      @Override
      public void onStartJapid() {
        setTemplateRoot("japidroot");
        setLogVerbose(true);
        setKeepJavaFiles(false); // keep the Java code derived from Japid scripts in memory only
      }
    
      @Override
      public Result onError(RequestHeader h, Throwable t) {
        if (Play.application().isProd())
          return Results.internalServerError(JapidController.renderJapidWith("onError.html", h, t));
        else
          return super.onError(h, t);
      }
    
      @Override
      public Result onBadRequest(RequestHeader r, String s) {
        if (Play.application().isProd())
          return Results.badRequest(JapidController.renderJapidWith("onBadRequest.html", r, s));
        else
          return super.onBadRequest(r, s);
      }
    
      @Override
      public Result onHandlerNotFound(RequestHeader r) {
        // usually one needs to use a customized error reporting in production.
        //
        if (Play.application().isProd() || Play.application().isDev())
          return Results.notFound(JapidController.renderJapidWith("onHandlerNotFound.html", r));
        else
          return super.onHandlerNotFound(r);
      }
    }