Spring Boot与Kotlin处理Web表单提交的方法

网友投稿 239 2023-02-25


Spring Boot与Kotlin处理Web表单提交的方法

我们在做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-plugin

apply 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:http://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.Hello

import org.springframework.stereotype.Controller

import org.springframework.ui.ModelMap

import org.springframework.web.bind.annotation.ModelAttribute

import org.springframework.web.bind.annotation.PostMapping

import org.springframework.web.bind.annotation.RequestMapping

/**

* Created by http://quanke.name on 2018/1/10.

*/

@Controller

class 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

Id:

Message:

src/main/resources/templates/result.html

Submit another message


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:spring5 webclient使用指南详解
下一篇:如何开发api接口(api接口使用教程)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~