【Java 高阶】一文精通 Spring MVC - 标签库 (八)

news2024/11/24 19:38:38

在这里插入图片描述

👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主

⛪️ 个人社区:个人社区
💞 个人主页:个人主页
🙉 专栏地址: ✅ Java 高阶
🙉八股文专题:剑指大厂,手撕 Java 八股文

文章目录

      • 1. 什么是 Spring MVC 标签库
      • 2. <form:form>
      • 3. <form:input>
      • 4. <form:select>
      • 5. <form:radiobutton>
      • 6. <form:checkbox>
      • 7. <form:textarea>
      • 8. <form:errors>
      • 9. <spring:url>
      • 10. <spring:message>

1. 什么是 Spring MVC 标签库

Spring MVC 标签库是一个用于简化 Spring MVC 应用程序开发的标签库。它提供了一组标签,用于在 JSP 视图中生成 HTML 表单、URL、数据绑定等常见的 Web 开发任务。使用 Spring MVC 标签库可以使开发人员更加方便地将后端数据模型与前端视图进行绑定,从而快速构建动态网页。

  1. form:form :用于创建 HTML 表单,并与后端的数据模型进行绑定。
  2. form:input :用于生成文本输入框。
  3. form:select :用于生成下拉列表。
  4. form:radiobutton :用于生成单选按钮。
  5. form:checkbox :用于生成复选框。
  6. form:textarea :用于生成文本域。
  7. form:errors :用于显示表单验证错误信息。
  8. spring:url :用于生成带有上下文路径的 URL。
  9. spring:message :用于显示国际化消息。

2. form:form

<form:form> 是 Spring MVC 标签库中的一个标签,用于在 JSP 视图中创建 HTML 表单。它提供了一种简便的方式来生成表单,并与后端的数据模型进行绑定。

使用 <form:form> 标签,你可以指定表单的 action、method、modelAttribute 等属性。下面是一些常用的属性:

  • action:指定表单提交的目标 URL。
  • method:指定表单提交的 HTTP 方法,可以是 GET 或 POST。
  • modelAttribute:指定表单数据绑定的后端数据模型对象。
  • commandName:与 modelAttribute 相同,用于指定后端数据模型对象。
  • cssClass:指定表单的 CSS 类。
  • enctype:指定表单的编码类型,常用的有 “multipart/form-data” 用于文件上传。

3. form:input

form:input 是 Spring MVC 标签库中的一个标签,用于在 JSP 视图中生成文本输入框。它提供了一种简便的方式来创建文本输入框,并与后端的数据模型进行绑定。

使用 form:input 标签,你可以指定文本输入框的属性、值和样式等。下面是一些常用的属性:

  • path:指定文本输入框与后端数据模型的绑定路径,即后端数据模型的属性名。
  • id:指定文本输入框的 HTML id 属性。
  • cssClass:指定文本输入框的 CSS 类。
  • disabled:指定文本输入框是否禁用。
  • maxlength:指定文本输入框的最大长度限制。
  • size:指定文本输入框的显示宽度。

4. form:select

<form:select> 是 Spring MVC 标签库中的一个标签,用于在 JSP 视图中生成下拉列表。它提供了一种简便的方式来创建下拉列表,并与后端的数据模型进行绑定。

使用 <form:select> 标签,你可以指定下拉列表的属性、选项和样式等。下面是一些常用的属性:

  • path:指定下拉列表与后端数据模型的绑定路径,即后端数据模型的属性名。
  • id:指定下拉列表的 HTML id 属性。
  • cssClass:指定下拉列表的 CSS 类。
  • items:指定下拉列表的选项,可以是一个包含选项值和显示文本的集合或 Map。
  • itemValue:指定选项值的属性名,默认为 “value”。
  • itemLabel:指定显示文本的属性名,默认为 “label”。
  • multiple:指定是否允许多选。

5. form:radiobutton

<form:radiobutton> 是 Spring MVC 标签库中的一个标签,用于在 JSP 视图中生成单选按钮。它提供了一种简便的方式来创建单选按钮,并与后端的数据模型进行绑定。

使用 <form:radiobutton> 标签,你可以指定单选按钮的属性、值和样式等。下面是一些常用的属性:

  • path:指定单选按钮与后端数据模型的绑定路径,即后端数据模型的属性名。
  • id:指定单选按钮的 HTML id 属性。
  • cssClass:指定单选按钮的 CSS 类。
  • value:指定单选按钮的值。
  • checked:指定单选按钮是否默认选中。

6. form:checkbox

<form:checkbox> 是 Spring MVC 标签库中的一个标签,用于在 JSP 视图中生成复选框。它提供了一种简便的方式来创建复选框,并与后端的数据模型进行绑定。

使用 <form:checkbox> 标签,你可以指定复选框的属性、值和样式等。下面是一些常用的属性:

  • path:指定复选框与后端数据模型的绑定路径,即后端数据模型的属性名。
  • id:指定复选框的 HTML id 属性。
  • cssClass:指定复选框的 CSS 类。
  • value:指定复选框的值。
  • checked:指定复选框是否默认选中。

7. form:textarea

<form:textarea> 是 Spring MVC 标签库中的一个标签,用于在 JSP 视图中生成文本区域。它提供了一种简便的方式来创建文本区域,并与后端的数据模型进行绑定。

使用 <form:textarea> 标签,你可以指定文本区域的属性、样式和行数等。下面是一些常用的属性:

  • path:指定文本区域与后端数据模型的绑定路径,即后端数据模型的属性名。
  • id:指定文本区域的 HTML id 属性。
  • cssClass:指定文本区域的 CSS 类。
  • rows:指定文本区域的行数。
  • cols:指定文本区域的列数。

8. form:errors

<form:errors> 是 Spring MVC 标签库中的一个标签,用于在 JSP 视图中显示表单验证错误信息。它提供了一种简便的方式来处理表单验证错误,并将错误信息显示给用户。

使用 <form:errors> 标签,你可以指定要显示错误信息的字段或路径。下面是一些常用的属性:

  • path:指定要显示错误信息的字段或路径,可以是后端数据模型的属性名或嵌套属性的路径。
  • cssClass:指定错误信息的 CSS 类。
  • element:指定错误信息的 HTML 元素,默认为 <span>

9. spring:url

<spring:url> 是 Spring MVC 标签库中的一个标签,用于在 JSP 视图中生成带有上下文路径的 URL。它提供了一种简便的方式来构建 URL,确保生成的 URL 包含正确的上下文路径。

使用 <spring:url> 标签,你可以指定 URL 的属性、参数和上下文等。下面是一些常用的属性:

  • value:指定 URL 的路径。
  • var:指定一个变量来存储生成的 URL。
  • context:指定 URL 的上下文路径。

10. spring:message

<spring:message> 是 Spring MVC 标签库中的一个标签,用于在 JSP 视图中显示国际化消息。它提供了一种简便的方式来获取并显示多语言的消息。

使用 <spring:message> 标签,你可以指定要显示的消息的键,并选择性地提供参数。下面是一些常用的属性:

  • code:指定要显示的消息的键,通常是在消息资源文件中定义的键。
  • arguments:指定要传递给消息的参数,可以是一个或多个值。

精彩专栏推荐订阅:在下方专栏👇🏻
✅ 2023年华为OD机试真题(A卷&B卷)+ 面试指导
✅ 精选100套 Java 项目案例
✅ 面试需要避开的坑(活动)
✅ 你找不到的核心代码
✅ 带你手撕 Spring
✅ Java 初阶

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/923095.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android——基本控件(下)(十八)

1. 时钟组件&#xff1a;AnalogClock与DigitalClock 1.1 知识点 &#xff08;1&#xff09;掌握AnalogClock与DigitalClock的使用&#xff1b; 1.2 具体内容 package com.example.clockproject;import android.os.Bundle; import android.app.Activity; import android.view…

含泪总结当遇到linux文件系统根目录上的磁盘空间不足怎么办!!

那天写项目代码&#xff0c;cmake编译生成文件的时候给我说磁盘不够了..文件没法生成&#xff0c;因为当时是远程连接的&#xff0c;所以就先断了连接&#xff0c;重启了虚拟机&#xff01;好家伙重启之后因为内存不够&#xff0c;根本进不到gnu界面&#xff0c;就是想重新扩容…

一篇带你肝完Python逆向为什么要学webpack,学完之后到底又该怎么用?

目录 前言简单示例配置示例深入案例分析 总结 前言 大家好&#xff0c;我是辣条哥&#xff01; 之前讲了很多关于基础方面的内容&#xff0c;从本章开始辣条我会开始慢慢开始跟大家解析一些进阶知识以及案例 废话不多说今天我们就深入解析一下webpack&#xff0c;我们先聊一下P…

【LeetCode】 双指针,快慢指针解题

1.删除有序数组中的重复项 class Solution {public int removeDuplicates(int[] nums) {int fast 1;int slow 1;for(;fast<nums.length;fast) {if( nums[fast] !nums[fast-1] ) {nums[slow] nums[fast];slow;}}return slow;} } 2.移除元素 class Solution {public int re…

2023年高教社杯 国赛数学建模思路 - 复盘:人力资源安排的最优化模型

文章目录 0 赛题思路1 描述2 问题概括3 建模过程3.1 边界说明3.2 符号约定3.3 分析3.4 模型建立3.5 模型求解 4 模型评价与推广5 实现代码 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 描述 …

【MD5加密结果不一致问题】同一个文本字符串,使用MD5加密之后,得出的加密结果居然不相同

目录 1.1、错误描述 1.2、解决方案 1.3、MD5工具类 1.1、错误描述 今天工作中&#xff0c;遇到一个奇怪的问题&#xff0c;我负责对接第三方的短信发送接口&#xff0c;接口中有一个入参是sign加签字段&#xff0c;根据短信内容进行MD5加密 之后得到&#xff0c;于是我就是…

STM32使用PID调速

STM32使用PID调速 PID原理 PID算法是一种闭环控制系统中常用的算法&#xff0c;它结合了比例&#xff08;P&#xff09;、积分&#xff08;I&#xff09;和微分&#xff08;D&#xff09;三个环节&#xff0c;以实现对系统的控制。它的目的是使 控制系统的输出值尽可能接近预…

基于Llama2和LangChain构建本地化定制化知识库AI聊天机器人

参考&#xff1a; 本项目 https://github.com/PromtEngineer/localGPT 模型 https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGML 云端知识库项目&#xff1a;基于GPT-4和LangChain构建云端定制化PDF知识库AI聊天机器人_Entropy-Go的博客-CSDN博客 1. 摘要 相比OpenAI的…

背包问题DP(01背包 完全背包 多重背包 分组背包)

目录 背包问题的简介背包问题的定义背包问题的分类 01背包问题典型例题实现思路二维数组代码实现一维数组优化实现扩展&#xff1a;记忆化搜索 DPS 实现 01背包之恰好装满思路代码实现 完全背包问题典型例题思路分析二维数组代码实现一维数组优化实现 多重背包问题多重背包问题…

网易一面:单节点2000Wtps,Kafka怎么做的?

说在前面 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;最近有小伙伴拿到了一线互联网企业如网易、有赞、希音、百度、网易、滴滴的面试资格&#xff0c;遇到一几个很重要的面试题&#xff1a; 问题1&#xff1a;单节点2000Wtps&#xff0c;Kafka高性能原理是什么&#…

测试人员如何通过AI提高工作效率!

随着AI技术的兴起&#xff0c;像OpenAI推出的ChatGPT、Microsoft发布的Microsoft 365 Copilot、阿里的通义千问、百度的文心一言、华为的盘古大模型等。很多测试人员开始担心&#xff0c;岗位是否会被AI取代&#xff1f;其实取代你的不是AI&#xff0c;而是会使用AI的测试人&am…

[论文分享]VOLO: Vision Outlooker for Visual Recognition

VOLO: Vision Outlooker for Visual Recognition 概述 视觉 transformer&#xff08;ViTs&#xff09;在视觉识别领域得到了广泛的探索。由于编码精细特征的效率较低&#xff0c;当在 ImageNet 这样的中型数据集上从头开始训练时&#xff0c;ViT 的性能仍然不如最先进的 CNN。…

解密长短时记忆网络(LSTM):从理论到PyTorch实战演示

目录 1. LSTM的背景人工神经网络的进化循环神经网络&#xff08;RNN&#xff09;的局限性LSTM的提出背景 2. LSTM的基础理论2.1 LSTM的数学原理遗忘门&#xff08;Forget Gate&#xff09;输入门&#xff08;Input Gate&#xff09;记忆单元&#xff08;Cell State&#xff09;…

【洛谷】P1678 烦恼的高考志愿

原题链接&#xff1a;https://www.luogu.com.cn/problem/P1678 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 将每个学校的分数线用sort()升序排序&#xff0c;再二分查找每个学校的分数线&#xff0c;通过二分找到每个同学估分附近的分数线。 最后…

【Java】对象与类

【Java】对象与类 文章目录 【Java】对象与类1、学习背景2、定义&使用2.1 创建类2.2 创建对象 3、static关键字3.1 修饰变量3.2 修饰方法3.3 修饰代码块3.4 修饰内部类 4、this关键字5、封装特性5.1 访问修饰符5.2 包的概念 6、构造方法7、代码块7.1 普通代码块7.2 成员代码…

信息安全:入侵检测技术原理与应用.(IDS)

信息安全&#xff1a;入侵检测技术原理与应用. 入侵检测是网络安全态势感知的关键核心技术&#xff0c;支撑构建网络信息安全保障体系。入侵是指违背访问目标的安全策略的行为。入侵检测通过收集操作系统、系统程序、应用程序、网络包等信息&#xff0c;发现系统中违背安全策略…

无公网IP内网穿透使用vscode配置SSH远程ubuntu随时随地开发写代码

文章目录 前言1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 前言 远程…

【QT5-自我学习-线程qThread移植与使用-通过代码完成自己需要功能-移植小记3】

【QT5-自我学习-线程qThread移植与使用-通过代码完成自己需要功能-移植小记3】 1、前言2、实验环境3、自我总结&#xff08;1&#xff09;文件的编写&#xff08;2&#xff09;信号与槽的新理解&#xff08;3&#xff09;线程数据的传递 4、移植步骤第一步&#xff1a;添加新文…

在Linux系统上安装和配置Redis数据库,无需公网IP即可实现远程连接的详细解析

文章目录 1. Linux(centos8)安装redis数据库2. 配置redis数据库3. 内网穿透3.1 安装cpolar内网穿透3.2 创建隧道映射本地端口 4. 配置固定TCP端口地址4.1 保留一个固定tcp地址4.2 配置固定TCP地址4.3 使用固定的tcp地址连接 Redis作为一款高速缓存的key value键值对的数据库,在…

React组件间数据传递(弹框和高阶组件(HOC)特性实现)

前言 在现代前端开发中&#xff0c;React 已经成为了最受欢迎的 JavaScript 库之一。而在复杂的应用中&#xff0c;不同组件之间的数据传递问题显得尤为关键。在本文中&#xff0c;我们将探讨一种高效的方法&#xff0c;即如何利用弹框和高阶组件特性来实现 React 组件间的数据…