Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1964396
  • 博文数量: 606
  • 博客积分: 9991
  • 博客等级: 中将
  • 技术积分: 5725
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-17 19:07
文章分类

全部博文(606)

文章存档

2011年(10)

2010年(67)

2009年(155)

2008年(386)

分类:

2008-10-14 20:50:59

概述
    在低版本的Spring中,你必须通过JSTL或将表单对象绑定到HTML表单页面中,对于习惯了Struts表单标签的开发者来说,Spring MVC的这一表现确实让人失望。不过这一情况已经一去不复返了,从Spring 2.0开始,Spring MVC开始全面支持表单标签,通过Spring MVC表单标签,我们可以很容易地将控制器相关的表单对象绑定到HTML表单元素中。
在上一篇文章《Spring MVC的表单控制器》中()我们已经使用到了部分的Spring MVC表单标签,在本文中我们将对Spring MVC表单标签进行全面的介绍,让我们首先从标签开始吧。

form标签
    和使用任何JSP扩展标签一样,在使用Spring表单标签之前,你必须在JSP页面中添加一行引用Spring表单标签的声明,如下所示: 
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="form" uri=""%> ①引入标签的声明 <html> … ②声明后,在页面中就可以使用任意Spring表单标签了 html>
    一般情况下,我们使用“form”作为Spring MVC表单标签的前缀,当然只要愿意,你可以调整为其它的前缀名。在声明好标签引用后,就可以在该JSP文件中使用所有Spring MVC的表单标签了。下面是一个使用表单标签的示例,它将最终生成一个HTML的 form表单:  
<form:form> 用户名:<form:input path="userName" /> <br> 密 码:<form:password path="password" /><br> Email:<form:input path="email" /><br> <input type="submit" value="注册" name="testSubmit"/> <input type="reset" value="重置" /> form:form>
     
     回忆一下我们在《Spring MVC的表单控制器》()文章中介绍的用户注册表单控制器,用户通过GET请求调用表单控制器时,表单控制器生成一个新的表单对象,然后重定向到表单输入页面。正因为表单页面是通过访问表单控制器导向过来的,所以标签本身无需做额外的设置就可以达到以下两个目标:
    1) 它不需要象HTML的
标签或Struts的表单标签一样通过action属性指定表单提交的地址。假设和标签对应的控制器的URL是“/registerUser.html”,应用部署目录为“baobaotao”,则最后产生的HTML代码自动包含表单提交地址:

    2) 标签内部的组件标签(如等)可以直接和表单控制器所对应的表单对象进行值绑定。

    默认情况下,表单控制器将表单对象以“command”为名放到PageContext中,你可以通过表单控制器commandName属性的设置使用其它的名字(假设设置为“user”),这时你必须通过显式指定绑定的表单对象名称。

    除了commandName属性外,Spring表单标签拥有丰富的可设置属性,这些属性大都是HTML表单标签属性的镜像,如onclick、ondblclick、tabindex等等。需要注意的一点是这些属性都是小写的,而对应的HTML标签的属性则没有这个限制。但是有几个和HTML标签有区别的属性,我们通过表 1进行说明:
    表 1 表单元素标签特殊属性
 
目录
说明
cssClass
使用该属性指定表单元素CSS样式名,相当于HTML元素的class属性。示例:
cssStyle
直接通过该属性指定样式,相当于HTML元素的style属性。示例:
cssErrorClass
cssClass表示表单元素未发生错误时对应的样式,而cssErrorClass表示表单元素发生错误时对应的样式,示例:
阅读(569) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~