您好,登錄后才能下訂單哦!
@RequestMapping("/freemarkerIndex")
public String index(Map result) {
result.put("name", "yushengjun");
result.put("sex", "0");
List listResult = new ArrayList();
listResult.add("zhangsan");
listResult.add("lisi");
listResult.add("itmayiedu");
result.put("listResult", listResult);
return "index";
}
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8" />
<title>首頁</title>
</head>
<body>
${name}
<#if sex=="1">
男
<#elseif sex=="2">
女
<#else>
其他
</#if>
<#list userlist as user>
${user}
</#list>
</body>
</html>
1.2 Freemarker配置
新建application.properties文件
spring.freemarker.allow-request-override=false
spring.freemarker.cache=true
spring.freemarker.check-template-location=true
spring.freemarker.charset=UTF-8
spring.freemarker.content-type=text/html
spring.freemarker.expose-request-attributes=false
spring.freemarker.expose-session-attributes=false
spring.freemarker.expose-spring-macro-helpers=false
#spring.freemarker.prefix=
#spring.freemarker.request-context-attribute=
#spring.freemarker.settings.*=
spring.freemarker.suffix=.ftl
spring.freemarker.template-loader-path=classpath:/templates/
#comma-separated list
#spring.freemarker.view-names= # whitelist of view names that can be resolved
1.3 使用JSP渲染Web視圖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
<dependencies>
<!-- SpringBoot 核心組件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
</dependencies>
1.4 在application.properties創建以下配置
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
1.5 后臺代碼@Controller
br/>@Controller
@RequestMapping("/index")
public String index() {
return "index";
}
}
注意:創建SpringBoot整合JSP,一定要為war類型,否則會找不到頁面.
不要把JSP頁面存放在resources// jsp 不能被訪問到
1.6 全局捕獲異常
@ExceptionHandler 表示攔截異常
? @ControllerAdvice 是 controller 的一個輔助類,最常用的就是作為全局異常處理的切面類
? @ControllerAdvice 可以指定掃描范圍
? @ControllerAdvice 約定了幾種可行的返回值,如果是直接返回 model 類的話,需要使用 @ResponseBody 進行 json 轉換
o 返回 String,表示跳到某個 view
o 返回 modelAndView
o 返回 model + @ResponseBody
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(RuntimeException.class)
@ResponseBody
public Map<String, Object> exceptionHandler() {
//開發中,一般都會講錯誤日志記錄在日志中,全局捕獲異常使用AOP技術,采用異常通知
//如果每個方法都可能發生異常,每個方法上都加上try
Map<String, Object> map = new HashMap<String, Object>();
map.put("errorCode", "500");
map.put("errorMsg", "全局捕獲系統錯誤!");
return map;
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。