2016-12-11 10 views
0

私は火花の新しい開発者です。そして今は問題でブロックされました。 私はwebテンプレートとしてfreemarkerを実装しました。 .ftlファイルを変更するとき、他のフレームワークと似ていません。サーバーを再起動する必要はありません。 しかし、私のローカルでは、変更を見たい場合はサーバーを再起動する必要があります。 以下はコードです。sparkjava(java webframe)の自動リフレッシュページ

public class SparkServer { 
public static void main(String[] args){ 
    get("/hello",(request,response) ->{ 
     Map root = new HashMap(); 
     root.put("user", "xiekakaban"); 
     Map product = new HashMap(); 
     product.put("name","Pringles"); 
     product.put("price",13.2); 
     root.put("product",product); 
     return new ModelAndView(root,"test.ftl"); 
    },FreeMarkerEngine.getInstance()); 
} 

}

public class FreeMarkerEngine extends TemplateEngine{ 
private static FreeMarkerEngine freeMarkerEngine; 
private Configuration freeConfig; 

private FreeMarkerEngine() throws IOException{ 
    freeConfig = new Configuration(); 
    freeConfig.setDirectoryForTemplateLoading(StringUtil.getResourceFile("templates")); 
    freeConfig.setTemplateUpdateDelay(1); 

} 
public static FreeMarkerEngine getInstance(){ 
    if(freeMarkerEngine == null){ 
     try { 
      freeMarkerEngine = new FreeMarkerEngine(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
      System.exit(0); 
     } 
    } 
    return freeMarkerEngine; 
} 
@Override 
public String render(ModelAndView modelAndView) { 
    StringWriter stringWriter = new StringWriter(); 
    try { 
     freeConfig.clearTemplateCache(); 
     freeConfig.clearSharedVariables(); 
     freeConfig.clearEncodingMap(); 
     Template template = freeConfig.getTemplate(modelAndView.getViewName()); 
     template.process(modelAndView.getModel(), stringWriter); 
     System.out.println(stringWriter.toString()); 
     return stringWriter.toString(); 
    } catch (IOException | TemplateException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    return "Can not find the template:"+modelAndView.getViewName(); 
} 

}

私はそれが火花によってキャッシュまたはfreemarker.But私は明確なFreeMarkerのキャッシュを持っているかどうかを確認してください `tの。

誰でも私を助けることができます.....

答えて

0

大丈夫、私はそれを理解しています。最初

Reloading the static files in Spark/Jetty-server

私はあなたがどのページFreeMarkerの負荷を確認するべきだと思います。 セットアップしないと、 "target"フォールドの下でftlがロードされます。

私は愚かな質問を出すと思います....

関連する問題