Spring MVC表单标签库
2023-06-13 09:20:11 时间
我们在进行 Spring MVC 项目开发时,一般会使用 EL 表达式和 JSTL 标签来完成页面视图的开发。其实 Spring 也有自己的一套表单标签库,通过 Spring 表单标签,可以很容易地将模型数据中的命令对象绑定到 HTML 表单元素中。下面我们就通过一个示例来演示该标签库的用法。
pageEncoding= UTF-8 % %@ taglib prefix= fm uri= http://www.springframework.org/tags/form % !DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd html head meta http-equiv= Content-Type content= text/html; charset=UTF-8 title 添加用户 /title /head body fm:form method= post modelAttribute= user action= ${pageContext.request.contextPath }/showuser 用户名: fm:input path= name / br / 年龄: fm:input path= age / br / 身高: fm:input path= height / br / input type= submit value= 保存 / /fm:form /body /html
添加用户
首先和 JSTL 标签的使用方法相同,在使用 Spring 表单标签之前,必须在 JSP 页面开头处声明 taglib 指令,指令代码如下。
%@ taglib prefix= fm uri= http://www.springframework.org/tags/form %
常用的 Spring 表单标签如下表所示。
pageEncoding= UTF-8 % %@ taglib prefix= fm uri= http://www.springframework.org/tags/form % !DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd html head meta http-equiv= Content-Type content= text/html; charset=UTF-8 title 添加用户 /title /head body fm:form method= post modelAttribute= user action= ${pageContext.request.contextPath }/showuser 用户名: fm:input path= name / br / 年龄: fm:input path= age / br / 身高: fm:input path= height / br / input type= submit value= 保存 / /fm:form /body /html
fm:form 标签的 modelAttribute 属性用于指定绑定的模型属性。默认从模型中尝试取名为 command 的表单对象,若不存在此表单对象,将会报错。所以一般情况下会指定 modelAttribute 属性。
此外,表单组件标签页拥有 HTML 标签的各种属性,如 id、onclick 等,都可以根据需要灵活使用。
创建显示页面 showUser.jsp,代码如下。
%@ page language= java contentType= text/html; charset=UTF-8 pageEncoding= UTF-8 % !DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd html head meta http-equiv= Content-Type content= text/html; charset=UTF-8 title 用户信息 /title /head body 您创建的用户信息如下: br / !-- 使用EL表达式取出model中的user信息 -- 用户名:${user.name } br / 年龄:${user.age } br / 身高:${user.height } /body /html3. 创建控制器类
创建 UserController,代码如下。
package net.biancheng.controller;4. 测试运行
import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import net.biancheng.po.User; @Controller public class UserController { @RequestMapping(value = /addUser , method = RequestMethod.GET) public String add(@ModelAttribute( user ) User user) { return addUser @RequestMapping(value = /showuser , method = RequestMethod.POST) public String showuser(User user, HttpSession session, HttpServletRequest request) { return showUser }
访问地址:http://localhost:8080/springmvcDemo2/addUser,运行结果如下图所示。
添加用户
显示添加用户信息
4622.html
springSpring CloudSpring DataSpring frameworkSpring SecuritySpringBootSpringMVC相关文章
- Spring MVC框架:第十一章:Ajax
- spring容器初始化过程中出现异常_spring容器什么时候启动
- Spring MVC框架:第十四章:数据校验
- Spring学习笔记(十八)——spring日志框架的配置和使用
- Spring MVC更多家族成员--国际化视图与LocalResolver---10
- Spring MVC框架学习(五) ---- 传递参数
- 详述 Spring MVC 框架中拦截器 Interceptor 的使用方法
- Spring Security 系列(3) —— Spring Security & Webflux
- Spring Boot中使用JUnit5进行单元测试
- Spring 5(五)事务操作
- spring boot 接口_什么是API接口
- 解释spring框架中bean的生命周期_Spring bean的生命周期
- Spring IOC 容器源码分析
- 面试官:说一下Spring MVC的启动流程呗
- 你真的懂Spring Cloud+Nginx秒杀实战,Nginx高性能秒杀和限流吗?
- Spring核心之控制反转IOC
- Spring基础(十):AOP概念和原理
- 从零开始,分析Spring Framework RCE
- 在生产环境中使用Spring Cloud Sleuth的注意事项(一)
- 查看docker 部署Spring Boot服务控制台信息详解程序员
- 第一个Spring MVC程序
- spring MVC-fastjson中文乱码详解编程语言
- 基于注解的spring MVC程序详解编程语言
- spring mvc 日期处理详解编程语言
- Spring Boot(一):初步认识详解编程语言
- spring-web中的WebDataBinder理解详解编程语言
- 库使用MVC模式构建MySQL数据库连接(mvc连接mysql数据)
- Spring系列之AOP实现的两种方式详解编程语言
- Spring MVC拦截器的执行流程
- Spring MVC数据验证简介
- Spring MVC JSR-303验证框架之Hibernate-Validator
- Spring MVC验证器:Validator接口和ValidationUtils类
- Spring MVC使用@ExceptionHandler注解异常处理
- MVC模式与Oracle数据库的高效集成(mvc连oracle)