17.springboot后台验证
来源:互联网 发布:淘宝1钻店卖 编辑:程序博客网 时间:2024/06/13 06:30
1.项目图
使用thymeleaf控制页面跳转,使用hibernate-validator验证(在实体上通过注解限制实体属性要求),前台页面通过el表达式设置属性和实体的对应
form:表单页面
results:表单提交成功页面
2.建立工程
(1)pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.tyf</groupId> <artifactId>test</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>test</name> <url>http://maven.apache.org</url> <!-- springboot --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE</version> <relativePath/> </parent> <!-- 编码 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- test --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- 跳转 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency><!-- 跳转 --> <!-- 使用hibernate验证 --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> </dependency><!-- 使用hibernate验证 --> <!-- el --> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-el</artifactId> </dependency><!-- e1 --> </dependencies> <!-- maven插件 --> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
(2)建立html文件
<!--form--><html> <body> <form action="#" th:action="@{/}" th:object="${personForm}" method="post"> <table> <tr> <td>Name:</td> <td><input type="text" th:field="*{name}" /></td> <td th:if="${#fields.hasErrors('name')}" th:errors="*{name}">Name Error</td> </tr> <tr> <td>Age:</td> <td><input type="text" th:field="*{age}" /></td> <td th:if="${#fields.hasErrors('age')}" th:errors="*{age}">Age Error</td> </tr> <tr> <td><button type="submit">Submit</button></td> </tr> </table> </form> </body></html><!--results--><!DOCTYPE html><html> <body> success </body></html>
(3)实体类
这个类封装提交的属性,通过注解设置验证规则
package com.tyf.form;import javax.validation.constraints.Min;import javax.validation.constraints.NotNull;import javax.validation.constraints.Size;public class PersonForm { @NotNull @Size(min=2, max=30) private String name; @NotNull @Min(18) private Integer age; public String getName() { return this.name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String toString() { return "Person(Name: " + this.name + ", Age: " + this.age + ")"; }}
(4)controller
这里是controller不是restcontroller
package com.tyf.form;import javax.validation.Valid;import org.springframework.stereotype.Controller;import org.springframework.validation.BindingResult;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;@Controllerpublic class WebController extends WebMvcConfigurerAdapter {//这里get请求成功的页面 @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/results").setViewName("results"); } //下面两个方法会先后执行,get是返回一个html用来收集用户提交的数据,post是处理了用户数据之后返回一个html给用户展示结果 //可以看见两个方法的mapping是一样的这就是一种rest风格 @GetMapping("/") public String showForm(PersonForm personForm) { return "form"; } @PostMapping("/") public String checkPersonInfo(@Valid PersonForm personForm, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return "form"; } return "redirect:/results"; }}
阅读全文
0 0
- 17.springboot后台验证
- 后台启动springboot jar
- springboot 后台启动
- SpringBoot 表单验证
- SpringBoot表单验证
- SpringBoot邮箱注册验证
- SpringBoot 表单验证
- SpringBoot-表单验证
- springboot表单验证
- SpringBoot表单验证
- SpringBoot 表单验证
- SpringBoot+SpringDataJpa后台常用注解
- springboot jar 后台运行 sh
- java后台产生验证码后台验证
- SpringBoot--JSR303验证传入参数
- SpringBoot--JSR303验证传入参数
- springboot集成kaptcha验证码
- SpringBoot之表单验证@Valid
- 第七届蓝桥杯省赛JAVA B组第3题
- 头文件整理
- 用户线程和内核线程理解
- Indri:安装及使用
- vue2.0生命周期
- 17.springboot后台验证
- ubuntu安装hbase
- 内点法解不等式约束的优化问题
- 03.openssl中设计中小提示
- 2017年浙江工业大学大学生程序设计迎新赛热身赛
- 区分AR/VR/MR/CR技术 谁能主宰显示未来
- httpClient设置忽略SSL(trust all)
- 剑指offer—树的子结构
- 《机器学习实战》ID3-决策树