2012-10-31 107 views
0

我正在使用WaveMaker和Springsource MVC的網站上工作。如何使用Spring MVC控制器返回html文件

由WaveMaker生成的條目名爲'index.html'。我將所有瀏覽器端代碼導入到MVC項目的/ view directroy中。並嘗試配置ContextLoadListener將其映射到一個uri。使用:

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

    return "index.html"; 
} 

然後我得到了以下錯誤測試它:

SEVERE: PWC6117: File "C:\glassfish3\glassfish\domains\domain1\eclipseApps\TribblesDashboard\WEB-INF\views\index.html.jsp" not found 

如何解決呢?

+1

請參閱http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/htmlsingle/spring-framework-reference.html#mvc-viewresolver。但最簡單的解決方案是將index.html文件重命名爲index.jsp。 –

+2

看起來像你的viewResolver配置不正確。你有沒有定義? – MStodd

+0

默認的viewResolver行爲是自動在末尾使用「.jsp」查找返回的視圖名稱。因此,將「index.html」重命名爲「index.jsp」,然後返回「索引」 – nickdos

回答

2

這可能是由於兩個原因。

  1. 在應用程序上下文中聲明視圖解析器。這應該是一些這樣的事:
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix"> 
     <value>/WEB-INF/jsp/</value> 
    </property> 
    <property name="suffix"> 
     <value>.jsp</value> 
    </property> 
</bean> 

這表明意見應放置在WEB-INF/jsp文件夾。

  1. 第二個是檢查web.xml中的Dispatcher Servlet配置。
<servlet-mapping> 
    <servlet-name>DispatcherServlet</servlet-name> 
    <url-pattern>*.htm</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>DispatcherServlet</servlet-name> 
    <url-pattern>*.html</url-pattern> 
</servlet-mapping> 

檢查映射都OK。

+0

非常感謝!這些正是我需要的。 第二部分。我的servlet映射模式設置爲: \t / tribbloid

+0

您可以將答案標記爲正確答案,以便面臨相同問題的其他人將受益。謝謝! – Usha

+0

哎呦:仍然有問題,但是現在錯誤信息已經變成: INFO:WARN:org.springframework.web.servlet.PageNotFound - 沒有找到具有URI的HTTP請求的映射[/ tribblesdashboard/WEB-INF/views /index.html]在DispatcherServlet中,名稱爲'appServlet' 和之前一樣,返回404錯誤。似乎我錯過了一些東西 – tribbloid