快速业务通道

使用Spring MVC表单标签 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
京</option> <option value="上海">上海</option> <option value="天津">天津</option> <option value="厦门">厦门</option> </select> <input type="hidden" name="_city" value="1"/> ②

使用Spring MVC表单标签(5)

时间:2011-02-22 陈雄华

首先,我们注意到②处有一个和复选框组件相似的配套隐藏组件,之所以会需要这个隐藏组件是出于和复选框相同的原因。下拉框的值和标签是相同的,都是cityList列表中的元素值。在实际应用中,我们一般为每一个选项提供一个代码,而非采用和标签相同的值,这样可以使用规范简短的代码保存数据,为后续的查询、引用带来方便。这时,可以采用下拉框标签的另一种属性设置方式:

<form:select path="city" items="${cityMap}" itemValue="key" itemLabel="value"/>

cityMap是一个已经通过referenceData()方法准备好的Map对象,itemValue对应下拉框的value属性,而itemValue="key"表示使用cityMap元素的键,itemLable对应下拉框的标签值, itemLabel="value"表示使用cityMap元素的值。实际上,items属性所绑定的也可以是一个List对象,其元素可以是一个JavaBean,这时可以通过itemValue和itemLabel指定引用JavaBean的属性。如下所示:

<form:select path="city" items="${cities}" itemValue="code" itemLabel="name"/>

cities对应一个通过referenceData()方法准备好的List对象,其元素为City对象,City对象包括code和name两个属性。通过以上这些方式,我们可以得到一个选项的值和标签不相同的下拉框:

<select id="city" name="city"> <option value="1">北京</option> <option value="2">上海</option> <option value="3">天津</option> <option value="4" >厦门</option> </select> <input type="hidden" name="_city" value="1"/>

一般情况下,下拉框会提供一个类似于“请选择”或“--未选择--”的默认选项,这个选项本身不是有效的数据项,它们的存在仅仅为提示用户作选择或代表一个未作选择的空值。这时,我们可能会考虑手工提供一个下拉框选项,而其它的选项通过referenceData()提供的数据动态生成:

<form:select path="city"> <form:option value="" label="--请选择--"/> ①提示性的选项 <form:options items="${cityMap}" itemValue="key" itemLabel="value"/>②真实的选项数据 </form:select>

这样产生的下拉框在默认情况下将显示①处对应的选项,如果用户没有选择,选项相当于是一个空值。②处对应的<form:options>会将cityMap的数据转换为下拉框选项列表。

错误标签

错误标签是和服务端校验信息关联的对应物,假设在服务端通过以下代码对表单数据进行校验:

ValidationUtils.rejectIfEmptyOrWhitespace(errors, "userName","required.username", "用户名必须填写");

ValidationUtils.rejectIfEmptyOrWhitespace(errors, "password","required.password", "密码不能为空");

当提交的表单数据不合法引发校验错误时,提交的表单将被驳回,请求被重定向到表单输入页面,在该

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号