2015-12-10 22 views
6

一個Hello World火花:如何使用Spark Java返回靜態html頁面?

get(new Route("/hello") { 
      @Override 
      public Object handle(Request request, Response response) { 
       response.type("text/html"); 
       return "<h1>Hello Spark MVC Framework!</h1>"; 
      } 
     }); 

我怎樣才能返回一個靜態index.html文件呢?

注:

  • 我需要這樣的index.html是在火花的java簡單的精神罐子
  • ,我想避免儘可能打算通過模板,即對於一個靜態頁面來說是過分的了。

回答

4

你可以通過絕對路徑到你的靜態資源目錄中的這種方法做:

externalStaticFileLocation("/var/www/public"); 

或者通過將相對路徑在這種方法:

staticFileLocation("/public"); 

調用此在設定任何路線之前。在您的靜態資源目錄的根目錄下創建您的index.html文件。

+0

謝謝!然後,如何在get方法中返回這個文件? – seinecle

+0

所有的靜態文件都是通過get方法返回的。要查看您的index.html,只需打開瀏覽器並鍵入http:// localhost:4567 –

+0

我有幾個問題。在Spark Java中,靜態資源目錄在哪裏?另外,如果路由處理/ hello /,如果index.html文件被放置在/ hello /?最後,我們可以使用.JSP文件嗎? – codeshark

4

我知道我非常遲到了,你可以做到以下幾點:

  1. staticFiles.location("/public"); //當應用程序被初始化創建一個名爲'public''src/main/resources'文件夾

  2. 文件夾,通話在routesrequests之前的上述方法。這個非常重要。

  3. 在你"controller",你可以這樣添加:

的Response.Redirect( 「test.html的」);返回null;