• thymeleaf-extras-db 0.0.1发布,select标签加载数据的新姿势


    在写thymeleaf页面的时候,我为了偷懒,不想为每个select下拉列表框都写一个接口,于是这个懒人jar诞生了。该jar的核心功能是直接通过thymeleaf页面的自定义标签的属性,直接运行sql并初始化select数据。

    项目地址:
    github
    gitee

    简介

    thymeleaf-extras-db是针对thymeleaf的扩展,主要是简化前端select标签数据的获取,让select标签直接从数据库加载数据,而不需要单独写接口,支持缓存

    导入

    <dependency>
        <groupId>com.github.jeesun.thymeleaf.extras</groupId>
        <artifactId>thymeleaf-extras-db</artifactId>
        <version>0.0.1</version>
    </dependency>
    

    使用教程

    thymeleaf-extras-db目前支持两种自定义标签t:dict和t:select,两个标签仅一个属性不同,其他属性两者都支持。t:dict和t:select都支持普通select标签属性,也支持select2和easyui-combobox属性。需要注意的是,t:dict标签的数据,是从表t_dict_type和t_dict_type_group查询的,需要建表mysql.sql

    在html页面上,需要给html标签添加属性xmlns:t="http://www.w3.org/1999/xhtml"。
    使用示例:
    <t:dict class="form-control select2" id="add_menu_type" name="menuType" dict-name="menu_type" style="100%"></t:dict>
    <t:select id="add_menu_group_id" name="pid" order="desc" query="t_side_menu,name,id,pid is null" class="form-control select2" data-live-search="true" style="100%"></t:select>
    
    easyui中使用方式:
    <t:dict class="easyui-combobox" id="search_authority" name="authority" dict-name="role_type"  style="160px" allow-empty="true"></t:dict>
    

    1. 新建配置类

    在Spring Boot中,使用thymeleaf-extras-db很简单,先新建一个配置类:

    @Configuration
    public class CustomDialectConfig {
        @Autowired
        private JdbcTemplate jdbcTemplate;
    
        @Autowired
        private CacheManager cacheManager;
    
        @Bean
        public DbDialect dbDialect(){
            //return new DbDialect(jdbcTemplate);
            return new DbDialect(jdbcTemplate, cacheManager);
        }
    }
    

    2. 配置缓存

    请在application.yml中添加如下配置:

    spring:
      cache:
        cache-names: listOptionCache
    

    如果你使用的是ehcache,那么还需要在ehcache.xml中新增如下类似配置:

    <cache name="listOptionCache"
        maxElementsInMemory="0"
        eternal="true"
        overflowToDisk="true"
        diskPersistent="true"
        memoryStoreEvictionPolicy="LRU">
    </cache>
    

    3. 标签属性及含义

    属性 含义 是否必填 可选值 默认值
    id id
    class class
    name name
    style style
    order 排序方式
    allow-empty 允许空值 true,false true
    empty-message 空值显示内容 &nbsp;
    cacheable 是否允许缓存 true,false true
    data-live-search select2专有属性 true,false
    multiple select2专有属性 multiple
    data-options easyui-combobox专有属性
    dict_name (t:dict独有)字典名称,只能填t_dict_type_group的type_group_code字段的值
    query (t:select独有)属性规则:表名,显示的字段名[,作为option的value的字段名][,查询条件]
  • 相关阅读:
    java的内部编码
    visual studio 快捷键
    C# ref和out总结
    C#函数3递归
    链表操作 两个链表间的相交性问题
    链表操作 有环链表问题
    链表操作 模拟问题
    链表操作 未排序链表的处理问题
    jjQuery 源码分析1: 整体结构
    jQuery 源码分析3: jQuery.fn/ jQuery.prototype
  • 原文地址:https://www.cnblogs.com/rainmer/p/10019559.html
Copyright © 2020-2023  润新知