Вот мой взгляд распознаватель:Spring не перенаправляется на страницу HTML
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/"/>
<property name="suffix" value=".html"/>
</bean>
У меня также есть контроллер, который должен возвращать Hello.html:
@Controller
@RequestMapping("/")
public class IndexController {
@RequestMapping(method = RequestMethod.GET)
public String getHtmlPage() {
return "hello";
}
}
Когда я получить доступ к локальному: 8080 Я получаю сообщение об ошибке:
WARNING: No mapping found for HTTP request with URI [/WEB-INF/pages/hello.html] in DispatcherServlet with name 'mvc-dispatcher'
Теперь, когда я изменить значение суффикса к .jsp, то hello.jsp возвращается правильно.
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/"/>
<property name="suffix" value=".jsp"/>
</bean>
hello.jsp и hello.html находятся в этой же папке. Любые идеи, как это исправить?
EDIT:
Для HTML вам не нужно просматривать арбитры. Вместо этого просто создайте папку в папке webapp. Назовите это static
, а затем добавьте <mvc:resources mapping="/static/**" location="/static/" />
в свой xml.
В контроллере вместо return "hello";
поставил return "static/hello.html";
См: http://stackoverflow.com/q/16598594/714969 –
Спасибо, Кевин! – Marko