Движок шаблонов japid42 - изменение директив по умолчанию

Если вы используете Play2 и пример приложения japid42, вы увидите, что он содержит представление japid в следующей структуре по умолчанию:

{your_app}/japidroot/japidview

Как изменить это на: {your_app}/app/views ? (к структуре стандартной / классической пьесы)

2 ответа

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);
  }
}

Хорошо. Я понял это.

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

Эта конфигурация говорит japid, что папка "app" является корневой, где находятся сценарии japid, затем она пытается найти / посмотреть папку "japidviews".

Итак, что мне нужно сделать:

  1. создавать мои быстрые шаблоны (HTML-файлы) в приложении / rapidviews
  2. пусть japd знает, где находится этот "быстрый просмотр", используя метод setTemplateRoot (..)

Для меня нормально иметь "japidviews", но только "views". По крайней мере, он находится в каталоге "app", но не снаружи.

Другие вопросы по тегам