目录
DAO层模拟数据库
设置拦截器
前端代码的抽取复用
thymeleaf的实际应用
if三元关系表达式的使用
#dates的使用
th:href 带有参数的形式
springboot 404页面的设置
用户注销
DAO层模拟数据库
使用map集合存储即可,增删改查均是对map的 *** 作
@Repository public class departemtDao { private static Map设置拦截器map=null; static { map=new HashMap (); map.put(1,new department(1,"教育部")); map.put(2,new department(2,"学生部")); map.put(3,new department(3,"后勤部")); } //通过id查询 public department getById(Integer id){ department department = map.get(id); return department; } //查询所有 public Collection findAll(){ Collection values = map.values(); return values; } }
当不登陆时,不允许访问其它页面
自定义拦截器
public class LoginHandlerInterceptor implements HandlerInterceptor { // 重写方法,根据条件判断是否放行 // 判断条件 session中loginUser属性是否为空 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { Object loginUser = request.getSession().getAttribute("loginUser"); if(loginUser==null){ request.setAttribute("msg","请先进行登录"); request.getRequestDispatcher("/index.html").forward(request,response); return false; }else { return true; } } }
在mvcConfig中配置拦截器
@Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new LoginHandlerInterceptor()) .addPathPatterns("/**") .excludePathPatterns("/index.html","/","login.html","/css/**","/js/**","/img/**","/fonts/**","style.css","favicon.ico","/login"); }
- 拦截的路径是/**
- 释放的路径是 静态资源、登录页面、以及涉及到的url
将共同的代码抽取到一个html中,文件是commons/common.html
注意
- 不需要使用head、body标签
- 使用的属性是th:fragment
复用代码
使用的属性是th:replace 语法是~{ }
thymeleaf的实际应用 if三元关系表达式的使用根据数据判断性别,进行相应的回显
#dates的使用为日期类规定格式进行回显
th:href 带有参数的形式转发的同时,还要把id传过去
编辑
访问的路径是:http://localhost:8080/update.html?id=1001
springboot 404页面的设置- 在templates文件夹下创建error文件
- 在该文件夹内添加404.html
完成这两步就可以,springboot就会自动配置了
运行效果图
用户注销原理:清空session
@GetMapping("/loginout") public String logout(HttpSession session){ session.invalidate(); return "redirect:/index.html"; }表单:日期数据上传
使用html原生方式
提交表单后,后台获取数据,需要使用注解进行日期格式的转换
@Data @AllArgsConstructor @NoArgsConstructor public class staff { private Integer id; private String name; private String email; private Integer sex; private department department; @DateTimeFormat(pattern = "yyyy-MM-dd") private Date birth; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)