form表单居中显示_Java程序员:Spring MVC JSP表单标签示例

Spring MVC的表单标签为Java程序员提供了许多额外的支持。例如数据绑定,允许自动设置数据并从Java对象中检索数据。

b9e34e2c2d26292eaf916decff8e7efa.png

从2.0版本开始,Spring提供了一组全面的数据绑定感知标记,用于在使用JSP和Spring Web MVC时处理表单元素。每个标记都支持其相应HTML标记对应的属性集,使标记熟悉且直观易用。标记生成的HTML符合HTML 4.01 / XHTML 1.0 标准。

66649fcde450cc1f0efee5b733059a67.png

Spring 表单标签

  • form 标签
  • input 标签
  • checkbox 标签
  • checkboxes 标签
  • radiobutton 标签
  • radiobuttons 标签
  • password 标签
  • select 标签
  • option 标签
  • options 标签
  • textarea 标签
  • hidden 标签
  • errors 标签
  • HTML5 标签集
5c7603dafa16dd412d58915eac39e481.png

在本文中我们会浏览所有这些表单标签,并查看每个标签的使用方式。

配置

表单标记库被捆绑在spring-webmvc.jar中,库描述符称为spring-form.tld。

如何引入Spring MVC 表单标签

要使用此库中的标记,请将以下指令添加到JSP页面的顶部:

1c65f478fbbf8258222a50cad6461bea.png

form标签

此标记呈现HTML“form”标记,并公开内部标记的绑定路径以进行绑定。 它将命令对象放在PageContext中,以便内部标记可以访问命令对象。 此库中的所有其他标记都是表单标记的嵌套标记。

51bd4c9610343d626e495e4880774c63.png

假设我们有一个名为User的域对象。它是一个JavaBean,具有firstName和lastName等属性。我们将它用作表单控制器的表单支持对象,它返回form.jsp。如下所示:

6850d0cb8b72678cf702b8287a32f91b.png

firstName和lastName值是从页面控制器放置在PageContext中的命令对象中检索的。加载表单时,Spring MVC将对user.getFirstName()和getLastName()(getter方法)进行分类。提交表单时,Spring MVC将调用user.setFirstName()和user.setLastName()方法。 生成的HTML看起来是这样:

6db059caed8256afa176f07a8e38c2d6.png

input 标签

input 标记默认使用绑定值和type ='text'呈现HTML 'input'标记,举个例子:

e49e5c686538b8391721a0246c35d65a.png

生成的HTML代码如下所示:

1306f06af320afb814d2d49442605250.png

checkbox 标签

此标记呈现带有“checkbox”类型的HTML “input”标记,例如:

78530791a801e8514ee564f83545ddcc.png

生成的代码如下所示:

e29329af5fbbda7b666f85b41f2be3ad.png

checkboxes 标签

此标记呈现多个带有“checkbox”类型的HTML “input”标记,示例如下:

72afc6712a3cc79e0556500608a6acd3.png

radiobutton 标签

此标记呈现带有“radio”类型的HTML “input”标记,典型的使用模式将涉及绑定到同一属性但具有不同值的多个标记实例:

35d6b74e75f858e895c169d23c481be2.png

radiobuttons 标签

此标记呈现多个带有“radio”类型的HTML “input”标记,例如:

116555c1d3ed16190df94dd0a3bf90b9.png

password 标签

此标记使用绑定值呈现带有“password”类型的HTML “input”标记,如下:

715e978ea98a57edbe78266f2d5dd92c.png

请注意,默认情况下,密码值不会显示。如果您确实需要显示密码值,请将“showPassword”属性的值设置为true,如下所示:

7a0a3bbb56abc9c5cdab8778d4867ae9.png

select 标签

此标记呈现HTML“select”元素,它支持数据绑定到所选选项以及使用嵌套选项和标记。示例如下:

c48e975ea8baf9fa0e838d4a83b38552.png

选择一个Skill,则可能HTML代码如下:

9fb9e15e0fc1c64097df3e3c74f570cc.png

option 标签

此标记呈现HTML “option”,它根据绑定值设置“selected”,如下:

d04aee49649f2bc94a42421966ca10a5.png

如果选择了 “Gryffindor”,则相应的代码如下:

6d701100729677480c92d22fbdf2896f.png

options 标签

此标记呈现HTML 'option'标记的列表,它根据绑定值设置“selected”属性,如下:

86715d5411111da60f1a35ee82f7454b.png

实际生成的HTML代码有可能是这样:

49f798178c090a8f880f0d9f350272fd.png

textarea 标签

此标记呈现HTML “textarea”,如下:

513186f10f75fe9891457b817de3c192.png

hidden 标签

此标记使用绑定值呈现类型为“hidden”的HTML“input”标记,如下:

0dd04ed56b2126064dc1efe680b9fc0c.png

errors 标签

此标记在HTML “span”标记中呈现字段错误,它可以访问控制器中创建的错误或由与控制器关联的任何验证器创建的错误。假设我们希望在提交表单后显示firstName和lastName字段的所有错误消息,有一个名为UserValidator的User类实例的验证器,如下:

7bf5015f39b3fb70dd94fd5b42d0d841.png

form.jsp 代码如下:

a392642835e6f2b859ea0d5751a32463.png

如果firstName和lastName字段中有一个为空,那么提交后的是HTML是这样:

a7ab9ec0c70470174c5934b53790bd9f.png

如果想显示给定页面的整个错误列表怎么办? 下面的示例显示errors标记还支持一些基本的通配符功能。path =“*”显示所有错误; path =“lastName”显示与lastName字段关联的所有错误; 仅显示对象错误。下面的示例将在页面顶部显示错误列表,然后是字段旁边的特定错误:

6ddb03a3dd8636ffe902e5f46a322b50.png

生成的HTML代码如下:

386edfdffbad29cb70b64a233abdf115.png

HTML5 标签

从Spring 3开始,Spring表单标记库允许输入动态属性,这意味着可以输入任何HTML5特定属性。在Spring 3.1中,表单输入标记支持输入“text”以外的type属性。这旨在允许呈现新的HTML5特定输入类型,例如“email”,“date”,“range”等。请注意,不需要输入type ='text',因为'text'是默认类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值