springMVC中默认组件通过DispatcherServlet.properties配置文件进行配置。
该配置文件地址:org/springframework/web/servlet/DispatcherServlet.properties
配置文件中配置了默认的视图解析器,如下:
org.springframework.web.servlet.ViewResolver=org.springframework.web.servlet.view.InternalResourceViewResolver
在InternalResourceViewResolver的父类UrlBasedViewResolver中,我们可以看到两个变量:
private String prefix = ""; 视图名称前缀
private String suffix = ""; 视图名称后缀
我们在处理器(@Controller)中,返回给视图处理器的路径,实际上是由 视图前缀+字符串+视图后缀 组成的。
@Controller
@RequestMapping(value = "user")
public class UserController {
//访问地址为 /user/save?username
@RequestMapping(value = "/save",method = RequestMethod.GET,params = {"username"})
public String save(){
System.out.println("Save running");
//返回路径实际上是 视图前缀+success+视图后缀
return "success";
}
}
所以,我们可以通过属性注入的方式修改视图处理器默认的前后缀
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
经过以上处理,返回路径就变成了: /jsp/success.jsp
评论 (0)