标签:style art group ova round artifact 解析 应用 rest
同事创建了一个spring boot项目,上传到svn。需要我来写个页面。下载下来后,始终无法实现在Controller方法中配置直接返回jsp页面。
郁闷了一下午,终于搞定了问题。在此记录一下。
目标:在Controller方法中配置直接返回jsp页面
项目中添加src/main/webapp文件夹,没什么好说的。
下面详细介绍@Controller注解和@RestController注解的不同实现方法。
@Controller注解
1. application.properties文件中配置
# 配置jsp文件的位置,默认位置为:src/main/webapp
spring.view.prefix:/pages/ #指向jsp文件位置:src/main/webapp/pages
# 配置jsp文件的后缀
spring.view.suffix:.jsp
2. Controller文件中配置
import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller public class ExampleController { @RequestMapping(value = "/initpage", method = RequestMethod.GET) public String doView() { return "index"; // 可访问到:src/main/webapp/pages/index.jsp } }
3. 使用Application [main]方法启动
4. 访问url,访问到jsp页面
http://localhost:8080/initpage
@RestController注解
1. application.properties文件中配置
# 配置jsp文件的位置,默认位置为:src/main/webapp spring.mvc.view.prefix:/pages/ #指向jsp文件位置:src/main/webapp/pages 注意啦!!!!!属性名称和@Controller的配置不一样,多了【mvc】 # 配置jsp文件的后缀 spring.mvc.view.suffix:.jsp # 同样多了【mvc】哟
2. Controller文件中配置,同样可访问到:src/main/webapp/pages/index.jsp
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; @RestController public class OvalAlarmController { @RequestMapping(value = "/initpage", method = RequestMethod.GET) public ModelAndView doView() { ModelAndView mv = new ModelAndView("index"); return mv; } }
3. 使用Application [main]方法启动
4. 访问url,访问到jsp页面
http://localhost:8080/initpage
还遇到一个问题:
spring boot直接返回jsp文件下载。
原因:
jsp文件没有被解析,pom.xml文件中只需添加如下配置。ok,问题解决。
<dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <version>7.0.59</version> </dependency>
标签:style art group ova round artifact 解析 应用 rest
原文地址:http://www.cnblogs.com/zj0208/p/5985698.html