A、Spring标签库

Web项目若使用Spring Web MVC并使用JSP作为表现的话。从Spring2.0版本开始提供一套标签库可供使用。

使用标签库无非是易于开发,维护之类云云。这里就不阐述了。我们还是更关注spring有哪些标签库和如何使用。

B、spring.tld标签库

spring.tld标签库核心类的包在org.springframework.web.servlet.tags。

B.1、spring:hasBindErrors

对应org.springframework.web.servlet.tags.BindErrorsTag标记库处理类。

这个标记提供用于绑定对象的errors,如果这个标记被用到的话,那么关于这个对象的错误将在页面上显示出来。使用这个标记的前提条件是要先使用<spring:bind>标记,并且<spring:hasBindErrors>这个标记不能用来表示对象的状态,它仅仅可以绑定对象本身和对象的属性。

举例

<spring:hasBindErrors name="priceIncrease">

<b>Please fix all errors!</b>

</spring:hasBindErrors>

属性

  name:是要被检查的Bean的名字。这个属性是必需要的。

B.2、spring:bind

对应org.springframework.web.servlet.tags.BindTag标记库处理类

  这个标记用来为某个bean或bean 的属性赋值,通常和form一起用,相当于action的作用。它指明表单要提交到那个类或类的属性中去。

  其中path属性是必须的,指明转到的类的路径。

B.3、spring:transform

  对应org.springframework.web.servlet.tags.TransformTag标记库处理类,这个标记用来转换表单中不与bean中的属性一一对应的那些属性,通常和<spring:bind>一起使用。<spring:transform>标记为<spring:bind>使用提供了更好的支持。

属性

value:必需要的。和当前<spring:bind>标记指向的bean类相同。就是你要转换的实体类名。

var:不是必需的。这个字符串被用来绑定输出结果到page,request, session或application scope.默认情况输出到jsp中。

scope:不是必需的。前提条件var必须设置的情况下。它的值可以是page,request, session或application。

B.4、spring:message

对应org.springframework.web.servlet.tags.MessageTag标记库处理类

  这个标记用来帮助springframework支持国际化。和JSTL的fmt:message标记类似。当然这个标记可以很好的工作的本地的springframework框架下。

属性

  code:不是必需的。用来查找message,如果没有被使用的话,text将被使用。

text:不是必需的。假如code不存在的话,默认是text输出。当code和text都没有设置的话,标记将输出为null.

var:不是必需的。这个字符串被用来绑定输出结果到page,request, session或application scope.默认情况输出到jsp中。

scope:不是必需的。前提条件var必须设置的情况下。它的值可以是page,request, session或application。

B.5、spring:htmlEscape

对应org.springframework.web.servlet.tags.HtmlEscapeTag标记库处理类

B.6、spring:theme

对应org.springframework.web.servlet.tags.ThemeTag标记库处理类

C、spring-form.tld标签库

Spring-form.tld标签库核心类的包在org.springframework.web.servlet.tags.form。

spring的表单标签库

D、使用Spring标签库

D.1、方法1

曾在《[JSP]自定义标签》介绍过如何自定义标签,那么我们知道我们必须取得标签库描述文件(spring.tld和Spring-form.tld)、标签处理类、并在web.xml中引入、最后才在jsp中使用。

1、将spring.tld和Spring-form.tld拷贝到WEB-INF目录。

2、将spring.jar拷贝到WEB-INF\lib包下

3、配置web.xml

<!-- 定义标签库描述文件 -->

<jsp-config>

    <taglib>

       <taglib-uri>/spring-form</taglib-uri>

       <taglib-location>/WEB-INF/spring-form.tld</taglib-location>

    </taglib>

    <taglib>

       <taglib-uri>/spring</taglib-uri>

       <taglib-location>/WEB-INF/spring.tld</taglib-location>

    </taglib>

</jsp-config>

<!-- 使用监听器加载spring配置文件 -->

<context-param>

    <param-name>contextConfigLocation</param-name>

    <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>

</context-param>

<listener>

    <listener-class>

       org.springframework.web.context.ContextLoaderListener

    </listener-class>

</listener>

一定要使用listener加载spring配置文件,不然会报“No WebApplicationContext found”的错。

.JSP代码

<%@ taglib uri="/spring" prefix="spring"%>

<%@ taglib uri="/spring-form" prefix="from"%>

<html>

    <head>

       <title></title>

    </head>

    <body>

       <spring:message></spring:message>

       <from:form></from:form>

    </body>

</html>

这种方法我们使用本地的tld,这种方法的好处我们可以自定义dtl。当然我们也可以使用网络上的tld。

D.2、方法2

1、配置web.xml

<!-- 使用监听器加载spring配置文件 -->

<context-param>

    <param-name>contextConfigLocation</param-name>

    <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>

</context-param>

<listener>

    <listener-class>

       org.springframework.web.context.ContextLoaderListener

    </listener-class>

</listener>

.JSP代码

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

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

<html>

    <head>

       <title></title>

    </head>

    <body>

       <spring:message></spring:message>

       <from:form></from:form>

    </body>

</html>

使用Spring标签库的更多相关文章

  1. Spring标签库

    spring提供了两个标签库文件:spring-form.tld(表单标签库,用于输出HTML表单)  spring.tld(基础标签库,用于Spring数据绑定等) 使用步骤: 1,配置表单标签库, ...

  2. SPRING 标签库

    打造专属自己的淘宝旺铺装修店铺优化商品推广网站客服工作物流发货 如果这个User的宿舍在Gryffindor(Gryffindor是哈利·波特在Hogwarts的宿舍——译者注), 那么“House” ...

  3. spring security的标签库

    应用标签库:<%@ taglib prefix='security ' uri='http://www.springframework.org/security /tags' %> < ...

  4. Spring MVC 数据绑定和表单标签库

    数据绑定是将用户输入绑定到领域模型的一种特性.作用是将 POJO 对象的属性值与表单组件的内容绑定. 数据绑定的好处: 1. 类型总是为 String 的 HTTP 请求参数,可用于填充不同类型的对象 ...

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

    普通的MVC设计模式中M代表模型层,V代表视图层,C代表控制器,SpringMVC是一个典型的MVC设置模式的框架,对于视图和控制器的优化很多,其中就有与控制器相结合的JSP的表单标签库. 我们先简单 ...

  6. Spring MVC -- JSP标准标签库(JSTL)

    JSP标准标签库(JavaServer Pages Standard Tag Library,JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能.JSTL支持通用的.结构化的任务,比如迭 ...

  7. Spring MVC框架及标签库

    1.Spring MVC技术 1. 当DispatcherServlet接到请求时,他先回查找适当的处理程序来处理请求.DispatcherServlet通过一个或者多个处理程序映射,将每个请求映射到 ...

  8. 自定义jstl标签库

    开发环境:Spring+SpringMVC +Maven +Mybatis JSTL 标签库的配置: 导入对应的 jstl.jar 和 standard.jar ,我使用的配置如下: <prop ...

  9. Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用

    我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用   Struts2标签库提供了主题.模板支持,极大地简化了视图页面的 ...

随机推荐

  1. HTML5+CSS3正式开课

    HTML5+CSS3 HTML5+CSS3 HTML5+CSS3

  2. gcc代码反汇编查看内存分布[1]: gcc

    # gcc -vgcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5) 重点: 代码中的内存分配, 地址从低到高: 代码段(RO, 保存函数代码) --&g ...

  3. BZOJ 1664: [Usaco2006 Open]County Fair Events 参加节日庆祝( dp )

    先按时间排序( 开始结束都可以 ) , 然后 dp( i ) = max( dp( i ) , dp( j ) + 1 ) ( j < i && 节日 j 结束时间在节日 i 开 ...

  4. JBPM6工作台使用Mysql数据库

    前面已经安装好jbpm了.现在进行数据库的替换.很简单: 1,修改 build.properties 原: # default is H2 H2.version=1.3.168 db.name=h2 ...

  5. Nginx 之六: Nginx服务器的反向代理功能

    一:Nginx作为正向代理服务器: 1.正向代理:代理(proxy)服务也可以称为是正向代理,指的是将服务器部署在公司的网关,代理公司内部员工上外网的请求,可以起到一定的安全作用和管理限制作用,正向代 ...

  6. python2.7_1.3_获取远程设备的IP地址

    代码如下: # -*- coding: utf-8 -*- import socket def get_remote_machine_info(): remote_host = 'www.python ...

  7. Fedora最小化安装后没有ifconfig命令

    百度了很久,都说添加export PATH=$PATH:/sbin,结果我用whereis 查询了,根本没有这个命令.后来直接yum search ifconfig,查找到原来是net-tools包. ...

  8. 单色VGA显示verilogHDL通用代码

    今天做VGA,真是拼凑了好久啊.唉,总算完成了. 本来想偷懒移植,最后还是自己写的代码. //2015/12/13 //designer : pengxiaoen //function : vga c ...

  9. javascript 检测密码强度

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. spring mvc项目【转载】

    用了好几年的ssh2.最近打算研究下spring的mvc,看看如何,可以的话后期的项目将都是用springmvc+spring jdbc的形式,这样就少了其他框架的继承.由于以前没用过springmv ...