2012-11-16 288 views
0

我使用Spring框架已經開始和我已經跨越了某種愚蠢的問題來到(但其實我也解決不了的話)我有控制器,它看起來像:REST Web服務

package org.springframework.rest; 

import java.net.MalformedURLException; 
import java.net.URL; 
import java.util.HashMap; 
import java.util.Map; 

import org.springframework.stereotype.Controller; 
import org.springframework.ui.ModelMap; 
import org.springframework.web.bind.annotation.PathVariable; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.bind.annotation.ResponseBody; 


@Controller 
public class SomeController { 

    @RequestMapping(value = "/", method = RequestMethod.GET) 
    @ResponseBody 
    public String returnHtmlPage() { 

     return "page"; 

    } 

} 

哪裏頁面是page.jsp:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<html> 
<head> 
    <title>Home</title> 
</head> 
<body> 
<h1> 
    Hello world! 
</h1> 

<P> The time on the server is ${serverTime}. </P> 
</body> 
</html> 

但保證HTML文件我只有字符串「頁面」返回。我該如何解決這個問題?

+4

刪除'@ ResponseBody' :)那麼你是在創建一個REST服務還是一個Web App? –

+0

我不敢相信!差不多花了1.5小時!謝謝鮑里斯!關於問題,現在我正在發現Spring框架,在此之後,我將嘗試創建REST服務 – Mithrand1r

回答

1

你的代碼只會打印出「頁面」(因爲@ResponseBody)。它不會爲您返回網頁。您可以使用「ModelAndView」而不是「String」作爲方法輸出。並在那裏設置你的jsp頁面名稱(=頁面)。是這樣的:

@RequestMapping(value = "/", method = RequestMethod.GET) 
public ModelAndView returnHtmlPage(){ 
    ModelAndView model = new ModelAndView("page"); 
       /* here you can put anything in 'model' object that you 
        want to use them in your page.jsp file */ 
    return model; 
}