当前位置: 首页 > news >正文

中山快速做网站价格网站上的漂浮怎么做

中山快速做网站价格,网站上的漂浮怎么做,温泉酒店网站建设方案,深圳公司网站开发文章目录 SpringBoot第三章1、整合mybatsPlus1-234-67-10问题 2、整合pageHelper分页3、MP代码生成器1、编写yml文件2、导入依赖3、创建mp代码生成器4、生成代码5、编写配置类扫描mapper类6、编写控制器类 4、swagger1、什么是swagger2、作用3、发展历程4、一个简单的swagger项… 文章目录 SpringBoot第三章1、整合mybatsPlus1-234-67-10问题 2、整合pageHelper分页3、MP代码生成器1、编写yml文件2、导入依赖3、创建mp代码生成器4、生成代码5、编写配置类扫描mapper类6、编写控制器类 4、swagger1、什么是swagger2、作用3、发展历程4、一个简单的swagger项目 第四章1、swagger2、thymeleaf1、使用步骤2、thymeleaf中的表达式1、标准变量表达式2、选择变量表达式3、路径表达式 3、标签语法1、th:text2、th:value3、th:href4、th:src5、th:attr6、th:each7、内敛文本8、内联脚本9、th:switch10、th:if 4、thymeleaf中的内置对象1、日期2、数值3、统计4、作用域 3、综合应用1-23-567-8页面两种跳转方式 SpringBoot 第三章 1、springboot操作mybatisPlus 2、mybatisPlus代码生成器 3、swagger 4、thymeleaf1、整合mybatsPlus 如果使用Mybatis所有操作要自己编写sql语句自己编写mapper接口中方法mybatisPlus对Mybatis进行了封装常见的方法不用自己声明即可直接使用使用MybatisPlus后常见的sql,mapper接口中的方法不需要自己编写了由MybatisPlus直接提供这样可以简化开发过程步骤 1-2 在springboot中使用MybatisPlus1、创建springboot项目2、导入依赖1、web2、devtools 热部署3、mybatisPlus(需要手动导入)4、mysql (默认情况下系统导入的是mysql 8.0如果用的其他版本就需要自己指定版本号)5、druid---------------这个依赖选不了需要手动导入6、lombok注意默认导入的mysql的依赖是dependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdscoperuntime/scope/dependency需要更改为dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.47/version/dependency导入druiddependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion1.1.16/version/dependency!--导入mybatisPlus的依赖--dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.0.5/version/dependency dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.0.5/version/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.47/version/dependencydependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion1.1.16/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactId/dependencydependencygroupIdorg.apache.velocity/groupIdartifactIdvelocity-engine-core/artifactIdversion2.0/version/dependency3 3、编写配置文件 application.yml#服务器端口号server:port: 9999#指定数据库连接spring:datasource:#使用druid连接池type: com.alibaba.druid.pool.DruidDataSource#数据库驱动driver-class-name: com.mysql.jdbc.Driver#连接地址url: jdbc:mysql:///d113#用户名及密码username: rootpassword: rootmybatis-plus:#对哪一个包下面的实体类生成别名默认别名是类名的首字母小写type-aliases-package: org.java.entity#指定mybatis中生成的mapper.xml配置文件的位置mapper-locations: classpath:mapper/*Mapper.xml#输出org.java.dao这个包中操作数据库时的底层sql语句logging:level:org:java:dao: debug4-6 4、编写实体类DataAllArgsConstructorNoArgsConstructorTableName(inf)//如果表名与类名一致该注解可以省略public class Inf implements Serializable {//它表示当前对应的是数据表中的主键,当前id的值是由数据库自动分配TableId(type IdType.AUTO)private Integer id;TableField(name)//描述当前属性与数据表中的哪一个字段有映射关系如果同名可以省略不写private String name;private Integer score;}5、编写Mapper接口继承于BaseMapperRepositorypublic interface InfMapper extends BaseMapperInf {}6、编写配置类扫描Mapper接口ConfigurationEnableTransactionManagementMapperScan(basePackages org.java.dao)public class WebConfig {} 7-10 7、编写Service接口8、编写service实现类Servicepublic class InfServiceImpl implements InfService {Autowiredprivate InfMapper infMapper;Overridepublic void add(Inf inf) {infMapper.insert(inf);}Overridepublic ListInf getList() {return infMapper.selectList(null);}}9、编写控制器类RestControllerpublic class InfController {Autowiredprivate InfService infService;GetMapping(/init)public ListInf getList(){return infService.getList();}PostMapping(/add)public void add(Inf inf){infService.add(inf);}} 10、测试 问题 问题如果我们要使用一个方法findByScore,但mybatisplus中没有这个方法我们可以直接扩展1、在mapper接口指定方法Repositorypublic interface InfMapper extends BaseMapperInf {public ListInf findByScore();}2、编写mapper.xmlmapper namespaceorg.java.dao.InfMapperselect idfindByScore parameterTypeint resultTypeinfselect * from inf where score #{score}/select/mapper3、在yml文件中配置mybatis的信息 mybatis-plus:mapper-locations: classpath:mapper/*Mapper.xmltype-aliases-package: org.java.entity2、整合pageHelper分页 在springboot使用pageHelper实现分页1、导入pageHelper依赖dependencygroupIdcom.github.pagehelper/groupIdartifactIdpagehelper-spring-boot-starter/artifactIdversion1.2.12/version/dependency2、在控制器编写方法接收参数进行分页显示GetMapping(/show/{page}/{rows})public PageInfoInf showPage(PathVariable(page) Integer page, PathVariable(rows) Integer rows){//分页加载数据PageInfoInf pg infService.showPage(page,rows);return pg;}3、编写InfService类中的方法实现分页显示public PageInfoInf showPage(Integer page, Integer rows) {//设置分页的信息PageHelper.startPage(page,rows);//创建一个queryWrapper对象用于封装查询条件QueryWrapperInf queryWrapper new QueryWrapper();//分页查询PageInfoInf pageInfo new PageInfo(infMapper.selectList(queryWrapper));return pageInfo;} 3、MP代码生成器 使用MP代码生成器作用在项目中使用MP的代码生成器可以生成通用的Mapper接口,service接口service实现类实体 类以及项目的基本结构1、编写yml文件 #服务器端口号 server:port: 8099 #指定数据库连接 spring:datasource:#使用druid连接池type: com.alibaba.druid.pool.DruidDataSource#数据库驱动driver-class-name: com.mysql.jdbc.Driver#连接地址url: jdbc:mysql:///d118?useUnicodetruecharacterEncodingUTF-8useSSLfalse#用户名及密码username: rootpassword: 123456 mybatis-plus:#对哪一个包下面的实体类生成别名默认别名是类名的首字母小写type-aliases-package: org.java.entity#指定mybatis中生成的mapper.xml配置文件的位置mapper-locations: classpath:mapper/*Mapper.xmlconfiguration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #输出org.java.dao这个包中操作数据库时的底层sql语句 #logging: # level: # org: # java: # mapper: debug 2、导入依赖 1、web 2、热部署 3、mysqldependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.47/version/dependency 4、druiddependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion1.1.16/version/dependency 5、mybatis-plusdependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.0.5/version/dependency 6、velocity--------------------------------生成代码时需要用到dependencygroupIdorg.apache.velocity/groupIdartifactIdvelocity-engine-core/artifactIdversion2.0/version/dependency 7、lombok 8、junit3、创建mp代码生成器 导入生成代码的配置工具类修改对应的信息用于生成代码 注意这个工具类一般放在test目录 package org.java.test;import org.junit.Test; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.config.DataSourceConfig; import com.baomidou.mybatisplus.generator.config.GlobalConfig; import com.baomidou.mybatisplus.generator.config.PackageConfig; import com.baomidou.mybatisplus.generator.config.StrategyConfig; import com.baomidou.mybatisplus.generator.config.rules.DateType; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; /*** author arjun* title: CodeGenerator* description: 描述信息* date 2023.08.27 09:16*/ public class CodeGenerator {Testpublic void run() {// 1、创建代码生成器AutoGenerator mpg new AutoGenerator();// 2、全局配置GlobalConfig gc new GlobalConfig();String projectPath System.getProperty(user.dir);gc.setOutputDir(F:\\D118SpringBootFile\\item\\sb_MP /src/main/java);gc.setAuthor(刘文君);gc.setOpen(false); //生成后是否打开资源管理器gc.setFileOverride(false); //重新生成时文件是否覆盖//UserServie// 默认情况下接口的名称前会有一个字母i如istuServicegc.setServiceName(%sService); //去掉Service接口的首字母Igc.setIdType(IdType.AUTO); //主键策略gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型gc.setSwagger2(false);//开启Swagger2模式mpg.setGlobalConfig(gc);// 3、数据源配置DataSourceConfig dsc new DataSourceConfig();dsc.setUrl(jdbc:mysql://localhost:3306/d118?serverTimezoneGMT%2B8);dsc.setDriverName(com.mysql.jdbc.Driver);dsc.setUsername(root);dsc.setPassword(123456);dsc.setDbType(DbType.MYSQL);mpg.setDataSource(dsc);// 4、包配置PackageConfig pc new PackageConfig();pc.setModuleName(); //模块名 可以为空//包pc.setParent(org.java);pc.setController(controller);pc.setEntity(entity);pc.setService(service);pc.setMapper(mapper);mpg.setPackageInfo(pc);// 5、策略配置StrategyConfig strategy new StrategyConfig();strategy.setInclude(stu,studemo);//数据表名 可同时选择多个表如果注释此行代码意味着映射数据库中所有的表strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略strategy.setTablePrefix(pc.getModuleName() _); //生成实体时去掉表前缀strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略strategy.setEntityLombokModel(true); // lombok 模型 Accessors(chain true) setter链式操作strategy.setRestControllerStyle(true); //restful api风格控制器strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符mpg.setStrategy(strategy);// 6、执行mpg.execute();} } 4、生成代码 Accessors(chain true) //支持链式操作 new stu().setID(1)...;注意要修改的地方1、生成的xml包要重新放到resourses文件下重命名为mapper5、编写配置类扫描mapper类 ConfigurationMapperScan(basePackages com.qs.mapper)public class WebConfig {}6、编写控制器类 RestControllerRequestMapping(/info)public class InfoController {Autowiredprivate InfoService infoService;GetMapping(/init)public ListInfo getList(){return infoService.list(null);}}通过mybatisPlus生成器生成的代码中如果没有需要的方法此时我们可以在service接口以及 Mapper接口中自己声明方法即可4、swagger 1、什么是swagger 答Api文档在线自动生成工具2、作用 根据在代码中使用自定义的注解来生成接口文档,它可以支持在线调试这个在前后端分离的项目中很重 要。这样做的好处是 在开发接口时可以通过swagger将接口文档定义好,同时也方便以后的维护3、发展历程 后端时代前端只用管理静态页面将整个html交给后端后端的模板引擎JSP 后端是主力。前后端分离时代后端后端控制层服务层数据访问层前端前端控制层视图层前端可以伪造后端的数据通过json跟后端进行交互。现在已经不需要后端前端工程依然可以运行起来。前后端交互方式API接口前后端相对独立松耦合前后端甚至可以部署到不同的服务器上面产生的问题 1. 前后端集成联调前端人员和后端人员无法做到及时协商以便尽快解决问题最终将导致问题集中 爆发 2. 简单来讲也就是前端不知道后端将提供给前端的接口名字以及后端将传送给前端的数据以及数据 类型 解决方案 首先应该指定计划实时更新后端提供给前端的最新API来降低集成的风险。1、比如早些年会指定word计划文档前后端分离前端测试后端的接口postman后端提供接口需要实时更新最新的消息以及改动不太方便这样需要特定去下载安装postman2、Swagger:是世界上最流行的API框架RestFull Api文档在线自动生成工具》Api文档与API接口定义同步更新直接运行可以在线测试API接口支持多种语言java、Php4、一个简单的swagger项目 1、创建springboot项目 2、导入依赖dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdscoperuntime/scopeoptionaltrue/optional/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-tomcat/artifactIdscopeprovided/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencyswqgger主要的4个依赖dependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger2/artifactIdversion2.9.2/version/dependencydependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger-ui/artifactIdversion2.9.2/version/dependencydependencygroupIdio.swagger/groupIdartifactIdswagger-annotations/artifactIdversion1.5.22/version/dependencydependencygroupIdio.swagger/groupIdartifactIdswagger-models/artifactIdversion1.5.22/version/dependency步骤太多了。。还是直接看pdf吧 文件查看地址 第四章 1、swagger的使用 2、thymeleaf的使用Api(tags用于描述当前类的信息)--放在控制类上ApiOperration(value基本描述信息,notes详情描述信息)--放在方法上ApiParam(value 学生编号id,required true)--放在参数里面ApiResponses({ApiResponse(code 200,message 删除成功),ApiResponse(code 204,message 服务器成功处理了请求,但没返回任何内容),ApiResponse(code 400,message 参数无效),ApiResponse(code 401,message 用户未授权),ApiResponse(code 403,message 服务器拒绝请求),ApiResponse(code 404,message 请求的资源不存在),})-----自定义服务器状态 放在方法上ApiImplicitParams({ApiImplicitParam(name id, value 学生编号id, required true,paramType query),ApiImplicitParam(name name, value 学生姓名, required true, paramType query),ApiImplicitParam(name score, value 学生成绩, required true, paramType query),})---多个参数的设置放在方法上/*************************实体类*************************/ApiModel(学生实体类)--放在实体类上ApiModelProperty(value 学生编号(主键), required false,notes 编号可以为空为空则由数据库自动分配)--放在属性上 控制器类上的注解 RestController---返回josn数据类型Slf4j------------输出日志RequestMapping(/studemo)---请求路径Api(tags studemo的控制器类)---控制器类的描述信息webconfig配置类 package com.java.config;import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Contact; import springfox.documentation.service.VendorExtension; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2;import java.util.ArrayList;/*** author arjun* title: webConfig* description: 描述信息* date 2023.08.27 11:45*/ Configuration MapperScan(basePackages com.java.mapper) EnableSwagger2 EnableTransactionManagement public class webConfig {//自定义设置swagger文档描述信息Beanpublic Docket docket01() {//docket--一个docket就是一个swagger标签用于描述swagger的信息Docket docketnew Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).groupName(1、扫描所有控制器类);return docket;}Beanpublic Docket docket02() {//docket--一个docket就是一个swagger标签用于描述swagger的信息Docket docketnew Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()//设置条件 // .paths(PathSelectors.ant(/user/**))// 1、仅对user开头的请求生成接口文档.apis(RequestHandlerSelectors.basePackage(com.java.controller))// 2、只对这个包下面的控制器生成接口文档.build().groupName(2、扫描自定义的控制器类);return docket;}//返回swagger的具体描述信息public static final Contact DEFAULT_CONTACT new Contact(arjun, https://arjunna.gitee.io, arjunna163.com);public ApiInfo apiInfo() {ApiInfo apiInfonew ApiInfo(swagger的Api文档,所有接口的描述信息及使用方法,1.0,urn:tos,DEFAULT_CONTACT,Apache 2.0,http://www.apache.org/licenses/LICENSE-2.0,new ArrayListVendorExtension());return apiInfo;} } 1、swagger 看pdf就行 帮助文档PDF地址 2、thymeleaf 在springboot中可以用jsp作为视图呈现数据。但是并不推荐springboot中推荐使用“模板引擎”作为视图呈现数据开发中常用的模板引擎:1、thymeleaf-----------百里香叶2、freemaker3、velocity更多的是使用thymeleaf作为springboot的视图组件呈现数据1、使用步骤 1、创建工程 2、导入依赖1、web2、热部署3、lombok4、thymeleaf3、配置yml文件 server:port: 9999 spring:thymeleaf:enabled: true #启用thymeleafencoding: utf-8 #编码cache: false #页面不缓存数据suffix: .html #模板页面的后缀名mode: HTML #模板页面是以html为基础4、编写第一个模板页面 index.html要求模板页必须放在templates目录中如果名称叫作: index.html,则该页面会自动加载如果在页面使用thymeleaf标签需要导入下列指令html langen xmlns:thhttp://www.thymeleaf.org5、编写控制器类用于加载数据然后在init.html页面显示此处的语法与springmvc语法一致Controllerpublic class InfoController {GetMapping(/)public String init(Model model){//将数据存放在Model中等同于request,在页面中显示数据model.addAttribute(msg,hello123);Info info new Info(1,bruce,99);model.addAttribute(info,info);return /init;}}6、在init.html页面准备在页面中取到存储数据结果是 ${msg}----------- EL表达式取不值它会原样显示原因是thymeleaf页面中不能直接使用EL表达式取值thymeleaf它有自己的表达式在页面中引入th指令html langen xmlns:thhttp://www.thymeleaf.orgthymeleaf的表达式不能直接使用只有在给html标签的属性赋值时才能使用div th:属性“${表达式}”/div2、thymeleaf中的表达式 在thymeleaf页面中使用thymeleaf标签的基本步骤1、导入标签指令html xmlns:thhttp://www.thymeleaf.org2、使用thymeleaf表达式动态取值要求thymeleaf的表达式不能直接使用必须作为标签的属性来使用表达式的分类1、标准变量表达式2、选择变量表达式3、路径表达式 1、标准变量表达式 标准变量表达式 ${xxx} ${xxx.属性} ${xxx.xx()}作用用于从作用域取值显示在当前位置中标签 th:text${xxxx}静态内容/标签例如 span th:text${msg}消息/span如果在容器中运行那么就会显示${msg}的内容如果在非容器中显示就只会显示 消息 两个字2、选择变量表达式 选择变量表达式 *{xxx} *{xxx.属性} *{xxx.xx()}作用用于从作用域取值显示在当前位置中标签 th:text*{xxxx}静态内容/标签例如 span th:text*{msg}消息/span3、路径表达式 作用一般在路径中动态取值时使用语法 {xxx} {xxx.xxx} {xxx.xxx()}方式1 a hrefdel/12345删除数据1/ahref这种方式传递参数只能传递固定参数如果要动态取值向后传递必须使用th:href注意在thymeleaf中只有th开头的标签属性才允许动态取值方式2 a th:hrefdel/${info.id}删除数据2/aBr如果要使用th属性动态传递静态内容要与动态内容分开静态内容必须包含在‘’中这种方式的缺点如果参数多了这种写法很容易出错方式3 a th:href{|del/${info.id}|}删除数据3/aBr通过路径表达式动态取值简化写法以上代码可以进行简化 {}可以省略不写a th:href|del/${info.id}|删除数据4/aBr 显示图片img src/imgs/4.jpg这种方式只能显示固定路径的图片img th:src/imgs/${photo}img th:src{|/imgs/${photo}|}img th:src|/imgs/${photo}|3、标签语法 1、th:text th:text该标签属性用于动态取值显示在当前位置div th:text${msg}/div2、th:value th:value该标签属性用于动态取值显示在表单组件中用于进行数据回显编号input typetext th:value${info.id}Br姓名input typetext th:value${info.name}Br成绩input typetext th:value${info.score}Br注意有时候修改与新增共享同一个表单组件区别是新增时表单数据为空没有默认数据修改时表单中是有默认数据的编号input typetext th:value${stu?.id}Br姓名input typetext th:value${stu?.name}Br成绩input typetext th:value${stu?.score}Br表示如果stu对象存在就执行后面的取值操作。如果不存在就不执行 3、th:href 作用设置超连接路径并且允许在连接路径中动态取值a th:hrefdel/${info.id}删除数据2/aa th:href{|del/${info.id}|}删除数据3/aa th:href|del/${info.id}|删除数据3/a推荐使用4、th:src 作用设置路径允许在路径中动态取值img th:src/imgs/${photo}img th:src{|/imgs/${photo}|}img th:src|/imgs/${photo}|5、th:attr 作用用于给标签的属性动态赋值input typetext th:attrvaluejackBr性别:input typeradio value男 namegenderth:attrchecked${gender男}男input typeradio value女 namegenderth:attrchecked${gender女}女6、th:each 作用用于对集合遍历相当于C标签中的forEachc:forEach items${list} varinfo varStatusstst:它用于保存当前对象在集合的状态${st.index}---------获得当前对象在集合中的下标 0${st.count}---------获得当前对象在集合中的个数 1${st.first}---------判断当前对象是否是集合中的第1个对象${st.last}---------获得当前对象是否是集合中的最后1个对象tr th:eachinfo,st:${list}Td th:text${info.id}/TdTd th:text${info.name}/TdTd th:text${info.score}/Tdtd th:text${st.index}/tdtd th:text${st.count}/tdtd th:text${st.first}/tdtd th:text${st.last}/td/tr:list--------它表示对哪一个集合遍历info---------它表示从集合中取到的第一个对象st-----------它用于保存当前对象在集合的状态${st.index}---------获得当前对象在集合中的下标 0${st.count}---------获得当前对象在集合中的个数 1${st.first}---------判断当前对象是否是集合中的第1个对象${st.last}---------获得当前对象是否是集合中的最后1个对象隐藏状态tr th:eachinfo:${list}Td th:text${info.id}/TdTd th:text${info.name}/TdTd th:text${info.score}/Tdtd th:text${infoStat.index}/tdtd th:text${infoStat.count}/tdtd th:text${infoStat.first}/tdtd th:text${infoStat.last}/td/tr使用在对象info后面加上Stat则可以触发隐藏状态7、内敛文本 作用直接在页面中用表达取值语法[[${msg}]] [[${info.name}]] [[${info.getScore()}]]msg:[[${msg}]]Br编号:[[${info.id}]]Br姓名:[[${info.name}]]Br成绩:[[${info.getScore()}]]Br 8、内联脚本 作用用于在Js代码中通过表达式直接取值script th:inlinejavascriptvar msg [[${msg}]];/script 9、th:switch 作用根据条件显示不同的结果类似于java中的switchdiv th:switch${mylevel}div th:case1一级用户/divdiv th:case2二级用户/divdiv th:case3三级用户/div/div10、th:if 作用用于进行逻辑判断spanb th:if${info.score60} stylecolor: green合格/bb th:if${info.score60} stylecolor: red不合格/b/spanTdb th:if${info.score90} stylecolor:green优秀/bb th:if${info.score80 info.score90}stylecolor:blue良好/bb th:if${info.score60 info.score80}stylecolor:gray合格/bb th:if${info.score60} stylecolor:red不合格/b/Td 4、thymeleaf中的内置对象 1、日期 1、与日期相关的内置对象 #dates${#dates.format(属性名,yyyy-MM-dd)} 作用按指定格式显示数据出生日期:b th:text${#dates.format(bir,yyyy-MM-dd)}/bBr 出生日期2:input typedate th:value${#dates.format(bir,yyyy-MMdd)}/input2、数值 2、与数值相关的内置对象 #numbers账户余额B th:text${#numbers.formatCurrency(balance)}/B 将当前数值转换成货币格式显示${#numbers.sequence(1,120)}从1开始到120结束产生一个序列select onchangealert(this.value)option value-1请选择年龄/optionoption th:value${age} th:eachage:${#numbers.sequence(1,120)}[[${age}]]岁/option/selectselect onchangealert(this.value)option value-1请选择年龄/optionoption th:attrselected${agemyAge}th:value${age}th:eachage:${#numbers.sequence(1,120)}[[${age}]]岁/option /select 3、统计 3、与统计相关的内置对象${#aggregates.sum[集合.![属性名]} 作用用于对集合遍历得到集合中的对象的某一个属性值相加的总和例如统计购物车的应付总金额 list集合中所有学生的总分数为 B th:text${#aggregates.sum(list.! [score])}/B4、作用域 4、作用域相关的一组对象${xxxx}--------------------它是从request范围中取值${session.xxxx}------------它是从session范围中取值${application.xxxx}-------它是从application范围中取值请求b th:text${message}/b Br会话b th:text${session.message}/b Br全局上下文b th:text${application.message}/b Br/**/另外一种写法请求 b th:text${#request.getAttribute(msg2)}/b会话 b th:text${#session.getAttribute(msg2)}/b上下文 b th:text${#servletContext.getAttribute(msg2)}/b 3、综合应用 1-2 1、创建工程 2、导入依赖1、web2、热部署3、mysql4、mybatis-plus(3.0.5)5、velocity(用于生成代码)6、thymeleaf7、druid8、lombok9、pagehable 依赖 parentartifactIdspring-boot-starter-parent/artifactIdgroupIdorg.springframework.boot/groupIdversion2.3.12.RELEASE/version/parentdependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.11/versionscopetest/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.0.5/version/dependencydependencygroupIdcom.github.pagehelper/groupIdartifactIdpagehelper-spring-boot-starter/artifactIdversion1.2.12/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-thymeleaf/artifactId/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.47/version/dependencydependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion1.1.16/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactId/dependencydependencygroupIdorg.apache.velocity/groupIdartifactIdvelocity-engine-core/artifactIdversion2.0/version/dependencydependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger2/artifactIdversion2.9.2/version/dependencydependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger-ui/artifactIdversion2.9.2/version/dependencydependencygroupIdio.swagger/groupIdartifactIdswagger-annotations/artifactIdversion1.5.22/version/dependencydependencygroupIdio.swagger/groupIdartifactIdswagger-models/artifactIdversion1.5.22/version/dependency/dependencies3-5 3、导入代码生成的工具类4、生成代码5、编写yml文件6 6、编写配置类ConfigurationMapperScan(basePackages com.qs.mapper)public class WebConfig {}7-8 7、控制器类8、问题处理注意thymeleaf的超连接不能直接跳转页面A hrefadd.html添加/A -----------错误写法 页面两种跳转方式 方式1编写配置类实现配置跳转ConfigurationMapperScan(basePackages com.qs.mapper)public class WebConfig implements WebMvcConfigurer {Overridepublic void addViewControllers(ViewControllerRegistry registry) {//配置视图的跳转指定发出什么请求跳转到哪个页面registry.addViewController(/add).setViewName(add);}}方式2编写一个控制器类专门处理跳转Controllerpublic class ForwardController {GetMapping(/forward/{page})public String forward(PathVariable String page){return /page;}}注意在提交表单数据时如果有日期类型的数据需要在实体类中日期类型的属性上加上如下注解 DateTimeFormat(pattern yyyy-MM-dd) private Date bir;
http://www.dnsts.com.cn/news/212571.html

相关文章:

  • 外贸网络整合营销推广方案网站改版seo
  • 网站建设学多长时间网站建设推广方案书
  • 做网站程序怎么写wordpress 图文展示
  • 网站上的图片一般多大合适wordpress 提速
  • 凡科做的网站基于phpmysql的网站开发
  • 滁州市南谯区建设局网站科技打破垄断全球的霸权
  • 技术支持 洛阳网站建设如何搬迁wordpress
  • 沧州网站优化价格中国搜索引擎市场份额
  • 建设银行网站证书网站建设的6个基本步骤
  • wordpress自助建站开鲁网站seo不用下载
  • 别人做的网站不能用广电网络公司营销推广方案
  • 凡科怎么做网站珠海网站建设科速互联
  • 做房地产行业的怎么做网站不用登录就能玩的游戏
  • 网站怎么做h5支付宝支付门户设计方案
  • 咸阳做网站排名保定 网站建设软件开发
  • 电子商务+网站建设网站做app的软件有哪些
  • 城市建设网站泉州住房城乡建设局网站
  • 网站制作方案范文黄石本土做网站的公司
  • html门户网站开发源代码国外做的比较的ppt网站有哪些
  • 用手机怎么申请免费自助网站软件工程项目开发流程
  • step7用法fc州网站建设企业服务公司排名
  • 做网站seo的公司襄城县住房和城乡建设局网站
  • 郑州网站建设方案优化企业营销型网站建设团队
  • 专做耐克阿迪鞋网站wordpress批量修改图片标题
  • seo营销型网站推广绍兴网站建设08keji
  • 购物网站排名2015商标设计网址大全
  • 网站建设哪里最便宜苏州专业设计网站
  • 对网站建设课程的心得体会网站建设可以经营吗
  • 做网站办公照片龙岗营销网站建设公司哪家好
  • 网站规划的任务中国建造师网个人入口