项目简介
本项目是基于Kotlin语言的Layui后台界面生成系统,可帮助开发者快速生成基本的表单和表格界面。它利用Layui的控件搭建界面框架,常用控件完备,也能通过HTML自定义实现或扩展控件库来处理非常用控件。
项目的主要特性和功能
- 丰富的控件生成:支持生成文本框、下拉框、自动完成、复选框、日期选择器、单选框、图片上传、文件上传、表格、分页等常用控件。
- 多样的按钮功能:具备Ajax执行请求、对话框、Ajax表单提交、带确认的Ajax执行请求等按钮功能。
- 实用的页面功能:提供主页和登录页等页面功能。
- 动态内容生成:支持自定义模板和动态数据填充,可根据字符串数组、枚举类型、URL地址、Spring BeanClass数据等多种数据源类型动态加载数据。
- 表单验证支持:支持必填校验、电话号码格式校验、电子邮件格式校验、网址格式校验、数字格式校验、正则表达式校验等表单验证。
安装使用步骤
引入依赖
若项目是Spring Boot,可直接引用,项目采用Spring boot start。
```xml
引入Kotlin库和插件
```gradle apply plugin: 'kotlin'
buildscript { ext.kotlin_version = '1.2.10'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
repositories {
maven { url "https://jcenter.bintray.com" }
}
dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" compile "org.jetbrains.kotlinx:kotlinx-html-jvm:0.6.6" } ```
使用模板生成器
生成首页
java
@RequestMapping("/index")
@ResponseBody
public String index(){
AdminJkKtView testView = new AdminJkKtView();
testView.getInfo().setTitle("极速模板");
testView.getInfo().setIndexUrl("/index");
testView.getInfo().setLeft("/left");
testView.getInfo().setTop("/top");
testView.getInfo().getRightMenu()
.add(new JkMenu("修改密码","","http://www.baidu.com"));
testView.getInfo().setWelcomeUrl("/welcome");
testView.getInfo().setLogoutUrl("/public/logout");
testView.getInfo().setUsername("超级管理员");
return testView.toHtml();
}
生成表单页
java
@RequestMapping("/form")
@ResponseBody
public String form(){
TestFormView view = new TestFormView();
view.setVo(new TestModel());
return view.toHtml();
}
```kotlin
class TestFormView: PageJkKtView() {
var vo:TestModel?=null;
override fun content(): String {
return createHTML().div {
vo=TestModel("ss")
jkForm {
jkInput(bind = vo!!::username,title = "文本框", type = InputType.text,inputCall =
{
it.attributes["lay-verify"]="required|number"
})
jkFormTitle(){
jkButton("提交",type = JkButtonType.ajax_submit)
}
}
}
}
} ```
生成登录页
java
public String login(){
AdminLoginKtView adminLoginKtView = new AdminLoginKtView();
adminLoginKtView.getInfo().setActionUrl("/public/login");
adminLoginKtView.getInfo().setTitle("登录页");
adminLoginKtView.getInfo().setUserName("用户名");
adminLoginKtView.getInfo().setPwd("密码");
adminLoginKtView.getInfo().setMsg("登录失败的错误消息");
return adminLoginKtView.toHtml();
}
在当前页面引入css、js文件
kotlin
override fun content(): String {
headList.add("<meta name=\"viewport\" content=\"width=device-width\">")
footerList.add("<script></script>")
addCssFile("/test.css")
addHeadJsFile("/head.js")
addFooterJsFile("/foot.js")
return createHTML().div {
vo= TestModel("ss")
jkForm {
jkInput(bind = vo!!::username,title = "文本框", type = InputType.text,inputCall =
{
it.attributes["lay-verify"]="required|number"
})
jkFormTitle(){
jkButton("提交",type = JkButtonType.ajax_submit)
}
}
}
}
在公共页面引入通用的CSS、JS、头部、尾部
```kotlin import vip.xuejike.ktpl.libs.commonFooter import vip.xuejike.ktpl.libs.commonHeader
fun loadTpl(){ commonHeader.add("ss") commonFooter.add("ff") }
var t=loadTpl() ```
使用Spring MVC的MessageConverters自动转换
Spring Boot 的MessageConverters的配置 ```java @Configuration public class MyWebMvcConfigurerAdapter extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
}
List<JkHandlerInterceptor> jkHandlerInterceptorList;
@Override
public void addInterceptors(InterceptorRegistry registry) {
}
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(0,new JkKtViewMessageConverters());
super.configureMessageConverters(converters);
}
}
直接使用
java
@RequestMapping("/form")
@ResponseBody
public String form(){
TestFormView view = new TestFormView();
view.setVo(new TestModel());
return view;
}
```
注意事项
- 需熟悉Kotlin语言以及Layui框架的基本使用。
- 要理解项目中定义的注解和类(如
JkButton
、JkForm
、JkTable
等)及其属性和用法。 - 根据项目实际需求,自定义和扩展控件库以及数据源处理逻辑。
- 正确配置Spring MVC的MessageConverters,以支持
JkKtView
类型的消息转换。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】