Springboot --- 整合thymeleaf

整理不易,不喜勿喷。谢谢

. . . . . . . . . . . . . . .

1.依赖

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
			<version>2.1.6.RELEASE</version>
		</dependency>

2.配置

注意:不再使用web,都在Resources下面

application.properties
Notice:目前所有页面和静态资源都在Resources下面
spring.thymeleaf.encoding=utf-8
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.cache=false

//静态资源,图片,css,js,jquery
spring.mvc.static-path-pattern=/static/**

3.Controller

3.1使用model
//地址栏不变,直接跳页
    @RequestMapping(value = "req")
    public String redirectHtmlReq(Model model,String termId) {
          
   

        model.addAttribute("termId", termId);
        return "request";
    }

	//地址栏不变,获取页面参数再跳页
    @RequestMapping(value = "/createRegIssueByForm", method = RequestMethod.POST)
    public String createRegIssueByForm(HttpServletRequest request,Model model) {
          
   
    
        String name = request.getParameter("username");
        String termId = request.getParameter("termid");

        String url = null;
        try {
          
   
            url = dataPipelineController.xxxxx(termId, name);
        } catch (Exception e) {
          
   
           // e.printStackTrace();
            url = ExceptionUtils.getStackTrace(e);
        }
        model.addAttribute("url", url);
        return "buffer";
    }
3.2使用ModelAndView
// An highlighted block
		@RequestMapping(value = "/user")
		public ModelAndView test(HttpServletRequest req) {
          
   
	        //req获取前端页面返回的参数
	        UserEntity user = new UserEntity();
	        user.setLoginName(request.getParameter("username"));
	        user.setId(request.getParameter("id"));
	
	        ModelAndView mv = new ModelAndView();
	        mv.addObject("user", user);
	        mv.setViewName("/user/show.html");
	        return mv;
	    }

4.页面接受数据

4.1 用js接收 var results = [[${url}]];
<script type="text/javascript" th:inline="javascript">
    var results = [[${
          
   url}]];

    let reg=RegExp(^http.*)
    if (results.match(reg)) {
          
   
        window.location.href = results;
    }else {
          
   
        alert(results)
    }
</script>
4.2 页面接受 th:value="${termId}"
<body>
<div>
    <form method="post" action="/xxxxx" id="userForm" name="userForm">
        <b>Active User: </b><input type="text" name="username" id="username"><br>
        <b>TermId: </b><input type="text" name="termid" id="termid" th:value="${termId}"><br>
    </form>
</div>

</body>
经验分享 程序员 微信小程序 职场和发展