SpringMVC(18):使用spring表单标签

SpringMVC学习笔记 | 视图及视图解析器 | 重定向 | Spring的表单标签及静态资源的处理 目录 一、视图与视图解析器 1、视图 2、视图解析器 (1)、InternalResourceViewResolver (2)、自定义视图解析器 二、关于重定向 三、使用Spring的表单标签 1、from标签 四、处理静态资源 一、视图与视图解析器 请求处理方法执行完成后,最终返回一个ModelAndView对象。对于那些返回String,View或ModelMap等类型的... 阅读详情

2018/1/23

【1】JSTL标签使用示例:

<%@ taglib prefix="fm" uri="http://www.springframework.org/tags/form" %>


	<fm:form method="post" modelAttribute="user" action="${pageContext.request.contextPath}/user/useraddsave" >
		<fm:errors path="userCode"></fm:errors>
		用户编码 :<fm:input path="userCode" /><br/>
		<fm:errors path="userName"></fm:errors>
		用户名称 :<fm:input path="userName"/><br/>
		<fm:errors path="userPassword"></fm:errors>
		用户密码 :<fm:password path="userPassword"/><br>
		用户地址 :<fm:input path="address" /><br>
		用户电话 : <fm:input path="phone"/><br>
		<fm:errors path="birthday"></fm:errors>
		用户生日 :<fm:input path="birthday" /><br>
		
		用户性别: <fm:radiobutton path="gender" value="1"/>女
			   <fm:radiobutton path="gender" value="2"/>男<br>		
		用户角色 :<br>
				  <fm:radiobutton path="userRole" value="101" />OrdinaryUser 
				  <fm:radiobutton path="userRole" value="110"/>Administrator<br>
				  <fm:radiobutton path="userRole" value="111"/>Manager 
				  <fm:radiobutton path="userRole" value="100"/>tour<br>
		<input type="submit" name="保存"/>
		<input type="reset" value="重置"/>
	</fm:form>




下面介绍各个标签的使用方法。

【2】form标签:

<form:form modelAttribute="contentModel" method="post">
   modelAttribute属性指定该form绑定的是哪个Model,当指定了对应的Model后就可以在form标签内部其它表单标签上通过为path指定Model属性的名称来绑定Model中的数据了,method属性指定form的提交方式如GET、POST等。

【3】.input标签:

<form:input path="username"/>

会生成一个type为text的Html input标签,通过path属性来指定要绑定的Model中的值。

【4】.password标签:

<form:password path="password"/>

会生成一个type为password的Html input标签,通过path属性来指定要绑定的Model中的值。

【5】.checkbox标签:

会生成一个type为checkbox的Html input标签,支持绑定boolean、数组、List或Set类型的数据。

绑定boolean数据会生成一个复选框,当boolean为true该复选框为选定状态,false为不选定状态。

<form:checkbox path="testBoolean"/>

2

绑定数组、List或Set类型的数据(以数组作为演示)如果绑定的数据中有对应checkbox指定的value时则为选定状态,反之为不选定状态:

绑定Array的checkbox 标签:<br/>
<form:checkbox path="testArray" value="arrayItem 路人甲"/>arrayItem 路人甲
<form:checkbox path="testArray" value="arrayItem 路人乙"/>arrayItem 路人乙
<form:checkbox path="testArray" value="arrayItem 路人丙"/>arrayItem 路人丙
<form:checkbox path="testArray" value="arrayItem 路人丁"/>arrayItem 路人丁

3

【6】.checkboxs标签:

会根据绑定的items数据生成一组对应的type为checkbox的Html input标签,绑定的数据可以是数组、集合或Map,其中checkboxs的path属性也必指定,当path中的数据有和items中的数据值同的时候对应的checkbox为选定状态,反之为不选定状态。

绑定集合数据(以数组作为演示):

绑定Array的checkboxs 标签:<br/>
<form:checkboxes path="selectArray" items="${contentModel.testArray}"/>

4

这里需要注意的是当使用EL表达式绑定时需要连Model的名称一起指定如${contentModel.testArray}而不能像path一样只指定Model对应的属性名称。

但通常情况下我们需要的是checkbox显示的是名称,但选择后提交的是对应名称的值,比如id,我们就可以通过绑定Map来实现这个功能:

绑定Map的checkboxs 标签:<br/>
<form:checkboxes path="selectIds" items="${contentModel.testMap}"/>

5

生成的一组checkbox中其中一个checkbox的html代码:

<span><input id="selectIds1" name="selectIds" type="checkbox" value="1" checked="checked"/><label for="selectIds1">mapItem 路人甲</label></span>

【7】.radiobutton标签:

会生成一个type为radio的Html input标签,如果绑定的数据的值对应radiobutton指定的value时则为选定状态,反之为不选定状态:

绑定Integer的radiobutton 标签:<br/>
<form:radiobutton path="radiobuttonId" value="0"/>0
<form:radiobutton path="radiobuttonId" value="1"/>1
<form:radiobutton path="radiobuttonId" value="2"/>2

6

【8】.radiobuttons标签:

会根据绑定的items数据生成一组对应的type为radio的Html input标签,绑定的items数据可以是数组、集合或Map,其中radiobuttons的path属性也必指定,当path的值和items中的某条数据值相同的时候对应的radio为选定状态,反之为不选定状态,用法和checkboxs很相似。但要注意的是:checkboxs的path绑定的是集合radiobuttons的path绑定的是单个值:

绑定Map的radiobuttons 标签:<br/>
<form:radiobuttons path="selectId" items="${contentModel.testMap}"/>

7

【9】.select标签:

会生成一个Html select标签,绑定的items数据可以是数组、集合或Map会根据items的内容生成select里面的option选项,当path的值和items中的某条数据值相同的时候对应的option为选定状态,反之为不选定状态,用法与radiobuttons很相似:

绑定Map的select 标签:<br/>
<form:select path="selectId" items="${contentModel.testMap}"/>

8

上面的是根据指定的items自动生成的option选项,但我们也可以不指定items手动添加select的option选项:

复制代码
不绑定items数据直接在form:option添加的select 标签:<br/>
<form:select path="selectId">  
   <option>请选择人员</option>
   <form:option value="1">路人甲</form:option>
   <form:option value="2">路人乙</form:option>
   <form:option value="3">路人丙</form:option>
</form:select>
复制代码

9

其中添加<option>请选择人员</option> 可以让在没有进行选择的情况下不指定任何默认值。

下面看一下form:option 与option的区别:

复制代码
不绑定items数据直接在form:option添加的select 标签:<br/>
<form:select path="selectId">  
   <option>请选择人员</option>
   <form:option value="1">路人甲</form:option>
   <form:option value="2">路人乙</form:option>
   <form:option value="3">路人丙</form:option>
</form:select><br/>
不绑定items数据直接在html的option添加的select 标签:<br/>
<form:select path="selectId">  
   <option>请选择人员</option> 
   <option value="1">路人甲</option>
   <option value="2">路人乙</option>
   <option value="3">路人丙</option>  
</form:select><br/>
复制代码

10

由截图的结果可以看出form:option 正确选择了path中指定的selectId而option没有,说明form:option有数据绑定功能option没有。

另外我们也可以不为select指定items,而把items指定到form:option 上这两种效果基本是一样的,一点区别就是为select指定items再在select里面添加option是不起作用的会被items生成的option覆盖掉,而把items指定到form:option 上则可以再在select里面添加option:

用form:option绑定items的select 标签:<br/>
<form:select path="selectId">  
    <option/>请选择人员
    <form:options items="${contentModel.testMap}"/>  
</form:select>

11

【10】.textarea标签:

textarea 标签:
<form:textarea path="remark"/>

12

会生成一个Html textarea标签,通过path属性来指定要绑定的Model中的值。

【11】.hidden标签:

会生成一个type为hidden的Html input标签,通过path属性来指定要绑定的Model中的值。

【12】.errors标签:

errors标签的用法在系列(6)—>数据验证中已经说明了,这里不在赘述。

Spring MVC表单标签的内容到此结束。


Vue2 - 最新详细实现网站内部打开预览 office 全套附件,在页面弹窗内解析预览 word文档、excel电子表格、ppt演示文稿(docx|xlsx|pptx|pdf|txt等文件)详细代码 vue2,nuxt2,office,文档,文件,查看预览,弹框预览,下载预览,如何预览pdf文档,打开查看,office全套文档,实现在线预览文件,小程序内预览word文件,手机h5移动端网页,nuxt文档在线预览,预览office最好用的插件,下载查看,Office在线预览,vue-office,vue如何使用vue-office教程示例,word文档,ppt,exce表格,预览电子文件,文档无法解析,打不开,报错,失效,保存下载,vue前端预览并下载doc、xls、pdf、txt及图片,vue2中预览p 阅读详情

相关推荐

手把手教你用RC桥式振荡器生成1Hz-1MHz正弦波(附完整电路图)

本文详细介绍了如何从零构建RC桥式振荡器,实现1Hz-1MHz正弦波的生成。通过核心元件选型、参数设计、电路搭建与优化等步骤,帮助读者掌握振荡器的工作原理和实战技巧。特别适合电子实验和信号处理领域的初学者和工程师,附完整电路图和常见问题解决方案。

weixin_30338481的博客 467

springmvc中的表单校验

表单校验顾名思义就是对输入表单中的数据进行校验,如果符合要求的输入格式才可以进入下一步工作。在项目开发中,几乎每一个项目都会涉及到类似操作,用户注册登录、填写一些表单数据等等,为了让用户有一个良好的用户体验,但是又不能让用户随意的输入一些非法的数据和不符合要求的数据,这时程序就有必要对用户输入的一系列参数进行校验,校验分为前端校验和后端校验,如果仅仅只有前端校验的话,如果浏览器设置了禁用js,那么...

新春客 1224

穿透鼠标实现后台点击,适用于任何窗口!【后台鼠标】【风雪】

也许你就是被这标题吸引来的,呵呵!好久没发帖了,勾引一下大家的胃口,当然有的人已经猜出原理了!既然来了,都要把原理学回家,不然就没意思了!很多游戏现在都不支持后台消息鼠标,要实现真的不是简单的,什么注入dll啊,什么hook俺也学不懂,那就简简单单另辟蹊径了下面来讲讲原理吧(下面的玩玩可以,用于实际不现实,俺也不藏了,看到这么多人回复,良心过意不去,呵呵)首先,将要点击的窗口上面覆盖的所有窗...

weixin_34129145的博客 1万+

SpringMVC 的 form表单使用

1.SpringMVC 表单标签 <form> 概述 Spring也提供了一套表单标签库,通过Spring 的表单标签可以实现将模型数据中的属性和 HTML 表单元素相绑定,以实现表单数据更便捷编辑和表单值的回显 1.1 from表单有一个很重要的 共有属性: path : 表单标签的共有属性,相当于HTML的name属性,支持级联关系 1.2使用SpringM...

weixin_42325327的博客 2570

微磁模拟实战指南:从OOMMF安装到首个3D模型运行

本文详细介绍了OOMMF微磁模拟软件的安装与使用,从环境配置到首个3D模型运行的完整教程。涵盖Windows、Linux和macOS平台的安装避坑指南,以及MIF文件编写、并行计算优化等实战技巧,帮助研究人员快速掌握这一开源工具在磁畴壁运动、磁滞回线等微磁学问题中的应用。

weixin_29294597的博客 153

Python爬虫实战:用BeautifulSoup和Pandas轻松抓取去哪儿网景点数据(附完整代码)

本文详细介绍了如何使用Python的BeautifulSoup和Pandas库构建一个高效的旅游数据爬虫,从去哪儿网抓取景点数据。内容涵盖环境准备、网页结构分析、核心代码实现、反爬策略以及数据清洗与存储,提供完整代码示例,帮助开发者快速掌握数据采集技术。

river的博客 357

Spring Mvc 表单详解

SpringMVC笔记(8):表单标签库 原创:南风Java大联盟2018-08-09 前言: 我们为什么要使用Spring MVC表单标签库?一句话,使用它是为了简化代码的开发,提高我们的效率,其实我们使用任何一款框架或者工具都是出于这个目的,实现快速开发。 Spring MVC表单标签库是如何来提高我们的开发效率呢?首先来做一个对比,业务场景:控制层返回...

qq_39795099的博客 545

别再让 AI 瞎写 SAP 代码了!这套 Claude Code Skill 的验证机制才是关键

本文深入解析了专为SAP CAP开发设计的AI辅助工具sap-cap-capire的技术架构。该工具采用四层设计:协议层集成MCP和LSP实现实时模型访问与语法检查;智能层通过4个专业化Agent(数据建模、服务开发等)分工协作;验证层确保代码质量;知识层存储文档模板。这种工程化设计解决了通用AI在CAP开发中面临的上下文不足、专业性缺失和代码质量保证等核心问题,通过本地化服务和实时反馈机制显著提升了开发效率。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 881

SpringMVC-处理表单数据

1.类型转换 form表单提交的数据都是String类型,例如在Servlet中我们是通过String filedName=request.getParameter(“…”)方法来获取相应的字段值。如果需要的是int类型,在 Servlet中我们也必须进行类型转换,如int age =Integer.parseInt(…)。但是在SpringMVC中,我们并不需要关心类型的转换,例如: @Requ...

故园 1802

【人工智能】全面盘点国内AI九大模型:各擅胜场的智能先锋(豆包、文心一言、讯飞星火、通义千问、Kimi、智谱清言、腾讯元宝、秘塔、天工AI)

追求性价比与全能:选豆包,适合个人与中小企业日常使用;侧重中文创作与理解:选文心一言,文学与商业文案创作首选;需要专业语音交互:选讯飞星火,智能客服、车载场景必备;看重生态与多场景:选通义千问,适配电商、办公等企业需求;处理超长文本任务:选Kimi,文档分析、学术研究的利器;专注深度推理创作:选智谱清言,学术与创意写作的伙伴;依赖腾讯生态协同:选腾讯元宝,日常轻量需求的便捷之选;深耕法律学术领域:选秘塔,专业文本处理的权威工具;布局前沿技术体验:选天工AI,享受接近国际顶尖的智能服务。

奶爸的编程之路,也就一周冷个三天 1121

华为OD机试真题 Java&Go 实现【优雅子数组】【100%通过率】【2022.11 Q4 新题】

如果一个数组中出现次数最多的元素出现大于等于K次,被称为K -优雅数组,k也可以被称为优雅阈值。例如,数组1,2,3,1、2,3,1,它是一个3-优雅数组,因为元素1出现次数大于等于3次,数组1,2,3,1,2就不是一个3-优雅数组,因为其中出现次数最多的元素是1和2,只出现了2次。给定一个数组A和k,请求出A有多少子数组是k-优雅子数组。

MISAYAONE的博客 1万+

Spring表单标签的使用?

Spring表单标签Spring提供的轻量级标签库可在JSP页面中渲染HTML元素的标签用法必须在JSP页面的开头处声明taglib指令引入标签声明之后就可使用Spring表单标签Spring常用表单标签名称 说明 &lt;fm:form/&gt; 渲染表单元素 &lt;fm:input/&gt; 输入框组件标签 &lt;fm:password/&gt; 密码框组件标签 &lt;fm:hi...

专注编程和人工智能! 1462

【2025年华为秋招(AI)-11月19日-第二题(200分)- 终端款型聚类识别】(题目+思路+Java&C++&Python解析+在线测试)

该摘要总结了题目要求、输入输出格式、KMeans算法的实现步骤以及关键点。以下是150字内的摘要: 本文提出基于KMeans算法对终端型号进行聚类的方法。通过包间隔时长、连接持续时长、漫游前后信号强度4个特征,使用欧氏距离度量相似度。算法采用固定初始化策略(前k个样本作为初始质心),经过分配-更新迭代,直至质心移动小于1e-8或达到最大迭代次数。最终输出各簇样本数并按升序排列,解决了终端型号自动分类问题。示例显示该方法能有效识别3-4类终端,并准确统计每类数量。

m0_73659489的博客 141

关于Spring MVC中的表单标签库的使用

普通的MVC设计模式中M代表模型层,V代表视图层,C代表控制器,SpringMVC是一个典型的MVC设置模式的框架,对于视图和控制器的优化很多,其中就有与控制器相结合的JSP的表单标签库。 我们先简单写一个JSP的文件,使用普通的HTML的表单: 1 @ page language="java" contentType="text/html; charset=UTF-8" 2

huapro.vip的程序人生 514

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

学习SpringMVC必知必会(7)~springmvc的数据校验、表单标签、文件上传和下载

学习SpringMVC必知必会(7)~springmvc的数据校验、表单标签、文件上传和下载

伟庭的博客 801

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

带有 Spring 表单标签和 JSP 的 Spring Boot 表单处理教程

在本教程中,您将学习如何编写代码以显示从用户那里获取信息的表单,以及如何编写代码以在用户提交表单时获取表单数据。我将引导您开发一个 Spring Boot 应用程序,该应用程序向用户呈现以下表单: 如您所见,此表单包含几乎标准的 HTML 输入字段,如文本框、单选按钮、选择框(下拉列表)、复选框和文本区域——以及标签和提交按钮。 我们将使用带有 Spring MVC、Spring Form 标签和 JSP 的 Spring Boot。您可以使用任何 Java IDE,例如 Eclips.

allway2的博客 909

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Spring MVC表单提交

实际应用中,列表中的单条记录的修改,可能需要传很多对象参数到后台服务器,Spring MVC表单标签<form:> 提供了一种简洁的提交方式。 1 <form id="form1" class="form-horizontal chukong_form" method="post" action="${ctx}/channel/sdkversion/posted...

a5206727的博客 234

Spring MVC 入门指南(四):表单标签的使用

本篇我们来学习Spring MVC表单标签的使用,借助于Spring MVC提供的表单标签可以让我们在视图上展示WebModel中的数据更加轻松。一.首先我们先做一个简单的例子来对Spring MVC表单表单标签的使用有一个大致的印象,然后再结合例子对各个标签介绍一下如何使用。1.首先,在com.ray.models包中添加一个模型TagsModel内容如下:package com.ray.mod...

有天你会让我妒忌的 343

springMvc <form:form>标签 <form:input>标签需要注意的问题

  在用springMVC <form:form>表单时,喜欢报的错误如下所示: 错误的Controller层的代码如下: 1 @RequestMapping(value = "test.do",method = RequestMethod.POST) 2 public String test(Student stu,Model model){ 3 ...

dengpengfu4092的博客 263

springMVC补充——springMVC的表单标签

同其他标签一样,使用标签的第一步是进行标签库的导入(如果页面频繁导入比较多的标签库,应当专门建立导入标签库的页面,详见ztree的随笔)   导入标签库: <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>   先看一个实例: <%@ page content...

weixin_30480583的博客 203

Spring、SpringMVC、SpringBoot、SpringCloud

也可不写参数名称,但是必须保证参数的顺序是对的。第四,B需要注入A,通过三级缓存中获取ObjectFactory来生成一个A的对象同时存入二级缓存,这个是有两种情况,一个是可能是A的普通对象,另外一个是A的代理对象,都可以让ObjectFactory来生产对应的对象,这也是三级缓存的关键。主要思路是这样的,使用aop中的环绕通知+切点表达式,这个表达式就是要找到要记录日志的方法,然后通过环绕通知的参数获取请求方法的参数,比如类信息、方法信息、注解、请求方式等,获取到这些参数以后,保存到数据库。

sunny_84的博客 1647

Spring MVC表单,数据效验,上传下载文件

Spring表单 Spring提供了自己的一套表单标签库,通过使用Spring标签库,可以很容易的将模型数据中的表单对象绑定到HTML表单元素中。 使用步骤: 第1步: 编写SpringMVC表单 示例: <%@taglib prefix="fm" uri="http://www.springframework.org/tags/form" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> &l

yananye的博客 243

Spring MVC 表单处理例子

文章目录1、Spring MVC 表单处理例子1.1 创建一个 Maven 项目,并添加 web 支持1.2 导入依赖1.3 Student 类1.4 StudentController1.5 web.xml1.6 spring-servlet.xml1.7 Spring 视图文件 student.jsp1.8 Spring 视图文件 result.jsp1.9 配置 Tomcat 并启动 1、S...

S_numb的博客 605
上一篇: SpringMVC(19):Date、DateTime、String之于springmvc 的数据传递详解
下一篇: SpringMVC(20):数据校验功能 -- 使用JSR303实现服务器端的数据校验
后台技术汇
博客等级 码龄11年 670粉丝 531原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后台技术汇

对你的帮助,是对我的最好鼓励。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值