06_SpringBoot_RESTful_CRUD
[TOC]
将静态资源(css,img,js)添加到项目中,放到 SpringBoot 默认的静态资源文件夹下
将模板文件(html)放到 template文件夹下

如果你的静态资源明明放到了静态资源文件夹下却无法访问,请检查一下是不是在自定义的配置类上加了@EnableWebMvc注解
默认访问首页
template文件加不是静态资源文件夹,默认是无法直接访问的,所以要添加视图映射
i18n国际化
编写国际化配置文件,抽取页面需要显示的国际化消息
创建i18n文件夹存放配置文件,文件名格式为
基础名(login)+语言代码(zh)+国家代码(CN)

SpringBoot自动配置好了管理国际化资源文件的组件
使用
ResourceBundleMessageSource在配置文件中添加国际化文件的位置和基础名如果配置文件中没有配置基础名,就在类路径下找基础名为
message的配置文件将页面文字改为获取国际化配置,格式
#{key},在页面使用fmt:message取出国际化内容然后就可以更改浏览器语言,页面就会使用对应的国际化配置文件


原理
国际化Locale(区域信息对象);
LocaleResolver(获取区域信息对象的组件);
在springmvc配置类
WebMvcAutoConfiguration中注册了该组件点击链接切换国际化
默认的就是根据请求头带来的区域信息获取Locale进行国际化
点击连接切换语言
实现点击连接切换语言,而不是更改浏览器
修改页面,点击连接携带语言参数
自己实现区域信息解析器
在配置类中将其注册到容器中
如果没有生效,请检查@Bean的那个方法的名称是否为localeResolver
实现登录功能
提供登录的controller
修改表单提交地址,输入框添加name值与参数名称对应
由于登录失败是转发,所以页面的静态资源请求路径会不正确,使用模板引擎语法替换
添加登录失败页面显示
修改页面立即生效
开发期间模板引擎页面修改以后,要实时生效
禁用模板引擎的缓存
在页面修改完成以后按快捷键
ctrl+f9,重新编译;
拦截器进行登陆检查
实现拦截器
注册拦截器
在spring2.0+的版本中,只要用户自定义了拦截器,则静态资源会被拦截。但是在spring1.0+的版本中,是不会拦截静态资源的。
因此,在使用spring2.0+时,配置拦截器之后,我们要把静态资源的路径加入到不拦截的路径之中。
CRUD-员工列表
使用rest风格
实验功能
请求URI
请求方式
查询所有员工
emps
GET
查询某个员工(来到修改页面)
emp/1
GET
来到添加页面
emp
GET
添加员工
emp
POST
来到修改页面(查出员工进行信息回显)
emp/1
GET
修改员工
emp
PUT
删除员工
emp/1
DELETE
为了页面结构清晰,在template文件夹下新建emp文件夹,将list.html移动到emp文件夹下
将dao层和实体层java代码复制到项目中
dao,entities添加员工controller,实现查询员工列表的方法
修改后台页面,更改左侧侧边栏,将
customer改为员工列表,并修改请求路径同样emp/list页面的左边侧边栏是和后台页面一模一样的,每个都要修改很麻烦,接下来,抽取公共片段
thymeleaf公共页面元素抽取
~{templatename::selector}:模板名::选择器
~{templatename::fragmentname}:模板名::片段名
具体参考官方文档:https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#including-template-fragments
三种引入公共片段的th属性:
th:insert:将公共片段整个插入到声明引入的元素中th:replace:将声明引入的元素替换为公共片段th:include:将被引入的片段的内容包含进这个标签中
后台页面抽取
将后台主页中的顶部导航栏作为片段,在list页面引入
dashboard.html:
list.html:
使用选择器的方式 抽取左侧边栏代码
dashboard.html:
list.html:
引入片段传递参数
实现点击当前项高亮
将dashboard.html中的公共代码块抽出为单独的html文件,放到commos文件夹下
在引入代码片段的时候可以传递参数,然后在sidebar代码片段模板中判断当前点击的链接
语法:
topbar.html
sidebar.html
然后在dashboard.html和list.html中引入
显示员工数据,添加增删改按钮
员工添加
创建员工添加页面
add.html点击链接跳转到添加页面
EmpController添加映射方法修改页面遍历添加下拉选项
表单提交,添加员工
日期格式修改
表单提交的日期格式必须是yyyy/MM/dd的格式,可以在配置文件中修改格式
员工修改
点击按钮跳转到编辑页面
添加编辑页面,表单的提交要为post方式,提供
_method参数Controller转发到编辑页面,回显员工信息
提交表单修改员工信息
员工删除
点击删除提交发出delete请求
如果提示不支持POST请求,在确保代码无误的情况下查看是否配置启动
HiddenHttpMethodFilter
这个好像是2.0版本以后修改的

如果删除不掉,请修改
EmployeeDao,把String转为Integer类型
最后更新于
这有帮助吗?