问题描述
spring-mvc.xml文件:<!--定义首页--><mvc:view-controllerpath="/"view-name="redirect:/estate/login/"/><beanid="freeMarkerViewResolver"class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"><propertyname="prefix"value=""/><propertyname="suffix"value=".ftl"/><propertyname="contentType"value="text/html;charset=UTF-8"/></bean>控制类:@ControllerAdvice@RequestMapping("/estate")publicclassEstateAtion{@RequestMapping("/login")publicStringaddEstate(){return"estateQuery";}freemarker文件位置:web.xml文件:<!--添加springMVC前端控制器--><servlet><servlet-name>springMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/springMVC-servlet.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springMVC</servlet-name><url-pattern>/</url-pattern></servlet-mapping>为什么首页定位不到?
解决方案
解决方案二:
<welcome-file-list><welcome-file>????</welcome-file></welcome-file-list>
解决方案三:
多了一层路径:view
解决方案四:
引用2楼wanghu555的回复:
多了一层路径:view
不是这个的问题,我的配置是这样写的<beanid="freemarkerConfig"class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"><!--指定FreeMarker模板文件目录--><propertyname="templateLoaderPath"value="/WEB-INF/view/"/><!--编码设置--><propertyname="freemarkerSettings"><props><propkey="defaultEncoding">UTF-8</prop></props></property></bean><beanid="freeMarkerViewResolver"class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"><propertyname="prefix"value=""/><propertyname="suffix"value=".ftl"/><propertyname="contentType"value="text/html;charset=UTF-8"/></bean>
解决方案五:
引用1楼a470577391的回复:
<welcome-file-list><welcome-file>????</welcome-file></welcome-file-list>
你不要这么逗呀,你懂不懂freemarker
解决方案六:
你的首页定位不到是什么意思?找不到那个ftl页面么?那你的地址怎么写的?
解决方案七:
<servlet-mapping><servlet-name>springMVC</servlet-name><url-pattern>/*</url-pattern></servlet-mapping>
加个*试试
解决方案八:
引用6楼lsongiu86的回复:
<servlet-mapping><servlet-name>springMVC</servlet-name><url-pattern>/*</url-pattern></servlet-mapping>加个*试试
这个也加了呀<!--添加springMVC前端控制器--><servlet><servlet-name>springMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--添加配置文件,如果不想要厦门的配置,可以将[servlet-name]-servlet.xml放到WEB-INF目录下,springMVC会默认加载--><init-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/springMVC-servlet.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springMVC</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
解决方案九:
引用3楼u011985165的回复:
Quote: 引用2楼wanghu555的回复:
多了一层路径:view不是这个的问题,我的配置是这样写的<beanid="freemarkerConfig"class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"><!--指定FreeMarker模板文件目录--><propertyname="templateLoaderPath"value="/WEB-INF/view/"/><!--编码设置--><propertyname="freemarkerSettings"><props><propkey="defaultEncoding">UTF-8</prop></props></property></bean><beanid="freeMarkerViewResolver"class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"><propertyname="prefix"value=""/><propertyname="suffix"value=".ftl"/><propertyname="contentType"value="text/html;charset=UTF-8"/></bean>
那你把prefix的value也写成"/WEB-INF/view“试试,我这里也用了freemarker视图,没有问题的