博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
三、thymeleaf模板引擎构建前台html, 后台使用 ModelAndView 和 Model 模型
阅读量:5736 次
发布时间:2019-06-18

本文共 5852 字,大约阅读时间需要 19 分钟。

项目源码:      ->     thymeleaf

 私聊QQ: 1486866853

1.pom.xml中依赖jar包(注意加红字段)

4.0.0
org.springframework.boot
spring-boot-starter-parent
2.1.3.RELEASE
MVC
springbootMVC
0.0.1-SNAPSHOT
springbootMVC
Demo project for Spring Boot
1.8

      <dependency>

        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
      </dependency>     

org.springframework.boot
spring-boot-starter-thymeleaf
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-maven-plugin

2.在 src/main/resources 新建 templates 目录  和 application.yml(替代application.properties, 在springBoot项目中如果两者都有会先加载application.yml, 然后再加载 application.properties 覆盖yml文件, 建议只留 yml文件)

 

 

 application.yml 的配置内容(注意:spring.thymeleaf.mode: LEGACYHTML5,解除html的书写规范)

server:  #springBoot内置tomact的端口号  port: 8086  servlet:    #springBoot项目的前缀名    context-path: /thymeleafspring:  # thymeleaf 模板引擎配置  thymeleaf:    # 不设置缓存    cache: false      # thymeleaf模板 解除严格约束(对html5没有结束符的标签解决)    mode: LEGACYHTML5    # thymeleaf修饰的动态页面 自定义根目录(springBoot默认的动态页面存放文件夹就是templates)    prefix: classpath:/templates/

3. ModelAndView的数据模型 : 在 src/main/java 新建 controller 文件夹,在新建 ModelAndViewController.java 类,  在templates目录下新建对应的 modelAndView.html 

3.1   ModelAndViewController.java

package demo.controller;import java.util.Map;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;/**  * @author GrassPrince  * @time   2019年3月23日 -下午9:01:57  * @description:测试ModelAndView的模型  */@RequestMapping("/ModelAndView")@Controllerpublic class ModelAndViewController {		//测试new ModelAndView(String viewName)构造方法	@GetMapping("/modelAndView1")	public ModelAndView modelAndView1() {		//new ModelAndView("/modelAndView")和new ModelAndView("modelAndView")都可以//		return new ModelAndView("/modelAndView");		return new ModelAndView("modelAndView");		//重定向的地址注意,完全地址且前面需要加///		return new ModelAndView("redirect:/ModelAndView/modelAndView2");	}		//测试ModelAndView(String viewName, String modelName, Object modelObject)构造方法	@GetMapping("/modelAndView2")	public ModelAndView modelAndView2() {		return new ModelAndView("/modelAndView", "model2", "modelObject  2");	} 		//测试ModelAndView(String viewName, @Nullable Map
model)构造方法 @GetMapping("/modelAndView3") public ModelAndView modelAndView3(Map
map) { map.put("map1", "obj 1"); map.put("map2", "obj 2"); return new ModelAndView("modelAndView", map); } //测试addObject(String attributeName, @Nullable Object attributeValue) // addObject(Object attributeValue)方法 @GetMapping("/modelAndView4") public ModelAndView modelAndView4() { ModelAndView mav = new ModelAndView(); //设置返回的url mav.setViewName("modelAndView"); //变量名, 变量值 mav.addObject("obj1", "modelObject 4"); // 变量值(变量名为变量值的所属类的类名) mav.addObject("modelObject 5"); return mav; }}

 3.2  modelAndView.html   

			测试ModelAndView		

Hello ModelAndView

3.3  启动项目下的 DemoApplication.java (myeclipse2018右击,Run As / Debug As   ->  Spring Boot App)

浏览器地址栏输入 : http://localhost:8086/thymeleaf/ModelAndView/modelAndView2 , 页面显示如下 

 

 4.Model数据模型  ,在 controller 文件夹下新建 ModelController.java 类,  在 templates 目录下新建  model.html

4.1  ModelController.java

package demo.controller;import java.util.HashMap;import java.util.Map;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;/**  * @author GrassPrince  * @time   2019年3月24日 -上午12:15:05  * @description:Model的使用,Model必须在方法参数中定义  */@RequestMapping("/Model")@Controllerpublic class ModelController {		//测试重定向	@GetMapping("/model4")	public String model4(Model model) {		return "redirect:https://www.baidu.com";	}		//测试addAttribute(Object attributeValue)方法	@GetMapping("/model1")	public String model1(Model model) {		// 对象值, 对象名为对象值所属类型		model.addAttribute("addAttribute(Object attributeValue)");		return "model";	}		//测试addAttribute(String attributeName, @Nullable Object attributeValue)方法	@GetMapping("/model2")	public String model2(Model model) {		//  对象名,对象值		model.addAttribute("content", "addAttribute(String attributeName, @Nullable Object attributeValue)");		return "model";	}		//测试addAllAttributes(Map
attributes)方法 @GetMapping("/model3") public String model3(Model model) { Map
map = new HashMap
(); map.put("map", "addAllAttributes(Map
attributes)"); model.addAllAttributes(map); return "model"; }}

 4.2  model.html

			测试Model		

Hello Model

4.3  启动项目下的 DemoApplication.java (myeclipse2018右击,Run As / Debug As   ->  Spring Boot App)

浏览器地址栏输入 : http://localhost:8086/thymeleaf/Model/model1, 页面显示如下 

转载于:https://www.cnblogs.com/y369/p/10645425.html

你可能感兴趣的文章
DelphiWebMVC框架下BPL热部署实现
查看>>
spring-boot | 日志
查看>>
Cordova Hot Code Push Plugin -9 错误治疗方法
查看>>
Python DBUtils数据连接池与mysql配合用法
查看>>
db2数据库HADR搭建
查看>>
中兴2928static/dhcp配置
查看>>
mysql方言 MyISAM 和 InnoDB区别
查看>>
生产环境MySQL快速备份工具XtraBackup使用案例
查看>>
Spring cache简单使用
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
Ubuntu下sublime-text3安装步骤
查看>>
autorelease 和垃圾回收制(gc)的区别
查看>>
大型网站技术架构(八)网站的安全架构
查看>>
C++中的基础
查看>>
AJAX
查看>>
BitTorrent Sync
查看>>
tomcat集群session复制
查看>>
get和post
查看>>
国庆节游嵩山
查看>>