使用Spring标签库
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标签库的更多相关文章
- Spring标签库
spring提供了两个标签库文件:spring-form.tld(表单标签库,用于输出HTML表单) spring.tld(基础标签库,用于Spring数据绑定等) 使用步骤: 1,配置表单标签库, ...
- SPRING 标签库
打造专属自己的淘宝旺铺装修店铺优化商品推广网站客服工作物流发货 如果这个User的宿舍在Gryffindor(Gryffindor是哈利·波特在Hogwarts的宿舍——译者注), 那么“House” ...
- spring security的标签库
应用标签库:<%@ taglib prefix='security ' uri='http://www.springframework.org/security /tags' %> < ...
- Spring MVC 数据绑定和表单标签库
数据绑定是将用户输入绑定到领域模型的一种特性.作用是将 POJO 对象的属性值与表单组件的内容绑定. 数据绑定的好处: 1. 类型总是为 String 的 HTTP 请求参数,可用于填充不同类型的对象 ...
- 关于Spring MVC中的表单标签库的使用
普通的MVC设计模式中M代表模型层,V代表视图层,C代表控制器,SpringMVC是一个典型的MVC设置模式的框架,对于视图和控制器的优化很多,其中就有与控制器相结合的JSP的表单标签库. 我们先简单 ...
- Spring MVC -- JSP标准标签库(JSTL)
JSP标准标签库(JavaServer Pages Standard Tag Library,JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能.JSTL支持通用的.结构化的任务,比如迭 ...
- Spring MVC框架及标签库
1.Spring MVC技术 1. 当DispatcherServlet接到请求时,他先回查找适当的处理程序来处理请求.DispatcherServlet通过一个或者多个处理程序映射,将每个请求映射到 ...
- 自定义jstl标签库
开发环境:Spring+SpringMVC +Maven +Mybatis JSTL 标签库的配置: 导入对应的 jstl.jar 和 standard.jar ,我使用的配置如下: <prop ...
- Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用
我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的 ...
随机推荐
- 对象作为返回值类型&&链式编程
package com.imooc; class Student{ public void study(){ System.out.println("学生学习"); } } cla ...
- 华为GVRP理解
类似于CISCO的VTP 在大型的网络中,华为交换机之间的串联是很普遍的.一般交换机互联端口都是配置成Trunk,即允许透传多个VLAN的.对于用户来说,手工配置太麻烦.一个规模比较大的网络可能包含多 ...
- (Problem 35)Circular primes
The number, 197, is called a circular prime because all rotations of the digits: 197, 971, and 719, ...
- glib 文档 代码 索引 编译
./configure --prefix=/opt/glib-2.28.8 --enable-staticmakemake install linux下载 WIN32下载 代码索引 文档索引 GLib ...
- NET Core,你必须了解无处不在的“依赖注入”
NET Core,你必须了解无处不在的“依赖注入” ASP.NET Core的核心是通过一个Server和若干注册的Middleware构成的管道,不论是管道自身的构建,还是Server和Middle ...
- javascript单元测试(转)
1. 什么是单元测试 在计算机编程中,单元测试(又称为模块测试)是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作.程序单元是应用的最小可测试部件.在过程化编程中,一个单元就是单 ...
- 条码知识之十:EAN-128条码(下)
国际物品编码协会(EAN)和美国统一代码委员会(UCC)将CODE-128码引入EAN/UCC系统,并作如下规定:起始符由一个START A/B/C 加一个辅助字符FNC1构成,以区别普通的CODE- ...
- MySQL Cluster-备份恢复初步测试
参考文档 http://blog.chinaunix.net/uid-20639775-id-1617795.html http://xxtianxiaxing.iteye.com/blog/5 ...
- Jenkins Maven打包出错异常的解决方法
Jenkins是一个很好用的打包部署工具,实现一键式部署项目,在项目处于测试阶段或者对于运维人员来讲是非常方便的一个工具. 但是最近使用Jenkins部署项目时老是出错,主要是maven打包的问题,错 ...
- 搭建你的持续集成server - CruiseControl step by step(1)
CruiseControl是CIserver的老者,诞生已是多年,在很多方面,CruiseControlserver已经成为持续集成实践的同义词.而如今,CruiseControl已发展成为一个家族式 ...