时间:2021-05-20
我们在做web开发的时候,肯定逃不过表单提交,这篇文章通过Spring Boot使用Kotlin 语言 创建和提交一个表单。
下面我们在之前《Spring Boot 与 Kotlin使用Freemarker模板引擎渲染web视图》项目的基础上,增加处理表单提交。
build.gradle 文件没有变化,这里贴一下完整的build.gradle
group 'name.quanke.kotlin'version '1.0-SNAPSHOT'buildscript { ext.kotlin_version = '1.2.10' ext.spring_boot_version = '1.5.4.RELEASE' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath("org.springframework.boot:spring-boot-gradle-plugin:$spring_boot_version")// Kotlin整合SpringBoot的默认无参构造函数,默认把所有的类设置open类插件 classpath("org.jetbrains.kotlin:kotlin-noarg:$kotlin_version") classpath("org.jetbrains.kotlin:kotlin-allopen:$kotlin_version") }}apply plugin: 'kotlin'apply plugin: "kotlin-spring" // See https://kotlinlang.org/docs/reference/compiler-plugins.html#kotlin-spring-compiler-pluginapply plugin: 'org.springframework.boot'jar { baseName = 'chapter11-5-4-service' version = '0.1.0'}repositories { mavenCentral()}dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version" compile "org.springframework.boot:spring-boot-starter-web:$spring_boot_version" compile "org.springframework.boot:spring-boot-starter-thymeleaf:$spring_boot_version"// compile "com.fasterxml.jackson.module:jackson-module-kotlin:$kotlin_version" testCompile "org.springframework.boot:spring-boot-starter-test:$spring_boot_version" testCompile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"}compileKotlin { kotlinOptions.jvmTarget = "1.8"}compileTestKotlin { kotlinOptions.jvmTarget = "1.8"}创建实体类Hello
/** * Created by http://quanke.name on 2018/1/12. */data class Hello(var id: Long? = 0, var content: String? = "")创建Controller
import name.quanke.kotlin.chaper11_5_4.entity.Helloimport org.springframework.stereotype.Controllerimport org.springframework.ui.ModelMapimport org.springframework.web.bind.annotation.ModelAttributeimport org.springframework.web.bind.annotation.PostMappingimport org.springframework.web.bind.annotation.RequestMapping/** * Created by http://quanke.name on 2018/1/10. */@Controllerclass HelloController { @RequestMapping("/") fun index(map: ModelMap): String {// / 加入一个属性,用来在模板中读取 map.addAttribute("host", "http://quanke.name") map.addAttribute("hello",Hello()) // return模板文件的名称,对应src/main/resources/templates/index.html return "index" } @PostMapping("/hello") fun helloPostSubmit(@ModelAttribute hello: Hello): String { return "result" }}页面展示层
src/main/resources/templates/index.html
src/main/resources/templates/result.html
Spring Boot 启动
import org.springframework.boot.SpringApplicationimport org.springframework.boot.autoconfigure.SpringBootApplication/** * Created by http://quanke.name on 2018/1/9. */@SpringBootApplicationclass Applicationfun main(args: Array<String>) { SpringApplication.run(Application::class.java, *args)}启动工程,访问ttp://localhost:8080/:
参考:https://spring.io/guides/gs/handling-form-submission/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
今天我们来讲一个最简单的表单提交处理的例子,通过提交一个表单给朋友打一声招呼!看这边文章之前,你至少应该了解基于Spring的Web开发的基础知识,当然,你还是
一、spring-boot-starter-validation依赖概述上一篇《SpringBootWeb开发注解篇》,就可以快速地进行Web开发。那么在表单提
项目升级到springboot2.3之后,参数校验的注解报错,发现spring-boot-starter-web的依赖项已经去除了依赖点开spring-boot
FormPluginAPI里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程。测试环境:部署到Tomcat中的web项目。本文演示的是:jQu
FormPluginAPI里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程。测试环境:部署到Tomcat中的web项目。一、引入依赖js二、