簡體   English   中英

japid42模板引擎-更改默認的japid根視圖目錄

[英]japid42 template engine - changing default japid root views direcotiry

如果使用Play2,和示例應用程序japid42 ,你會看到,它擁有在以下默認結構japid的觀點:

{your_app}/japidroot/japidview

如何將其更改為: {your_app}/app/views ? (根據標准/經典游戲的結構)

好。 我已經弄清楚了。

public class Global extends JapidRenderer {
    @Override
    public void onStartJapid() {
        setTemplateRoot("app");
...

此配置告訴japid,“ app”文件夾是japid腳本所在的根目錄,然后嘗試查找/查找“ japidviews”文件夾。

因此,我需要做的是:

  1. 在app / rapidviews中創建我的快速模板(html文件)
  2. 使用setTemplateRoot(..)方法讓japd知道此“ rapidviews”的位置

我可以擁有“ japidviews”,但可以擁有“ views”。 至少它在“ 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);
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM