1,主要有两个

一个用于渲染HTML表单标签, 这些标签会绑定model中的某个属性

另一个包换了一些工具类标签

2,将表单绑定到模型上

包含了14个标签,海报一个人为用户展现错误的标签,它会将错误信息渲染到最终的HTML中

为了使用表单绑定库,需要在jsp页面中声明:

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

3,通用标签库

使用前需要在jsp页面中声明:

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

4,展现国际化信息

通常使用<s:message/>如:

<h1><s:message code="spittr.welcome" /></h1>

Spring有多个信息源的类,他们都实现了MessageSource接口,在这些类中,更为常见和有用的是ResourceBundleMessageSource,它会从一个属性文件

中加载信息,如下

 
@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource messageSource =
new ResourceBundleMessageSource();
messageSource.setBasename("messages");
return messageSource;
}

在这里,核心在于设置basename属性,可以设置为任意你喜欢的

另外的可选方案是ReloadableResourceBundleMessageSource,但是他能重新加载信息属性。而不必重新编译或重新启用,如下

@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource =
new ReloadableResourceBundleMessageSource();
messageSource.setBasename("file:///etc/spittr/messages");
messageSource.setCacheSeconds();
return messageSource;
}

两者的关键区别在于前者是在类路径下查找,后者为应用的外部查找

5,创建URL

<s:url>,主要任务是创建URL,然后将其赋值给一个变量,或渲染到响应中

默认情况下,URL是在页面作用域内创建的,但是通过设置scope属性。我们可以让他在应用作用域内,会话作用域或域内作用域

如<s:url href="/spitter/register" var="registerUrl" scope="request" />

如果希望添加参数的话,可以使用<s:param>,如

<s:url href="/spittles" var="spittlesUrl">
  <s:param name="max" value="60" />
  <s:param name="count" value="20" />
</s:url>

<s:escapeBody>标签专门用来转义内容,而不是转义标签,是一个通用的转义标签,支持HTML和JavaScript转义

<s:escapeBody htmlEscape="true">
<h1>Hello</h1>
</s:escapeBody>

<s:escapeBody javaScriptEscape="true">
<h1>Hello</h1>
</s:escapeBody>

转义为到&lt;h1&gt;Hello&lt;/h1&gt;

Spring的jsp标签库的更多相关文章

  1. Java开源JSP标签库

    01displytag 与Struts结合使用最出名的一个tag主要是显示表格数据很漂亮.完善. 02cewolf tag 用来在web上显示复杂图形报表的一个jsp tag. 03Loading T ...

  2. 自定义JSP标签库及Properties使用

    自定义JSP标签库及Properties使用 自定义JSP标签 自定义JSP标签技术是在JSP 1.1版本中才出现的,它支持用户在JSP文件中自定义标签,这样可以使JSP代码更加简洁. 这些可重用的标 ...

  3. 通过引入SiteMesh的JSP标签库,解决Freemarker与SiteMesh整合时,自定义SiteMesh标签的问题

    不少web项目,都用到了SiteMesh.SiteMesh可以和JSP.Freemarker等模版进行整合,有一定的好处,当然也有其不好的地方.我个人觉得,如果没有必要,不要在项目中引入太多的工具和技 ...

  4. spring security的标签库

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

  5. JSP标签库

    step1: 定义一个标签处理类:改类必须实现SimpleTag接口,在实际中是拓展它的子类SimpleTagSupport.复写doTag方法 public class MyTag extends ...

  6. JavaWeb学习记录(十九)——jsp标签库

    1.out标签 <%        //局部变量        String name="zsf>&<zz";        pageContext.se ...

  7. jsp标签库选择框示例

    <select onchange="yearchange(this);" name="year" id="year"> < ...

  8. 使用Spring标签库

    A.Spring标签库 Web项目若使用Spring Web MVC并使用JSP作为表现的话.从Spring2.0版本开始提供一套标签库可供使用. 使用标签库无非是易于开发,维护之类云云.这里就不阐述 ...

  9. Spring Security(18)——Jsp标签

    目录 1.1     authorize 1.2     authentication 1.3     accesscontrollist Spring Security也有对Jsp标签的支持的标签库 ...

随机推荐

  1. windows系统下nginx+tomcat+redis做负载均衡和session粘滞附整套解决方案

    Nginx: 在nginx-1.8.0\conf目录下找到nginx.conf文件,打开文件修改文件中http{}中的内容,在http{}中加入 upstream localhost  { serve ...

  2. Python 并发网络库

    Python 并发网络库 Tornado VS Gevent VS Asyncio Tornado:并发网络库,同时也是一个 web 微框架 Gevent:绿色线程(greenlet)实现并发,猴子补 ...

  3. docker在mac下安装及配置阿里云镜像加速

    安装 brew cask install docker 配置 关于阿里云加速地址,下面会有详细说明 阿里云官方镜像加速 官方文档:https://help.aliyun.com/document_de ...

  4. tasks.json 配置 解决vscode控制台乱码问题

    { "version": "2.0.0", "command": "dotnet", "tasks" ...

  5. 106、Label 控制 Service的位置 (Swarm13)

    参考https://www.cnblogs.com/CloudMan6/p/8038799.html   上一节我们讨论了 Service部署的两种模式,global mode 和 replicate ...

  6. 这38个小技巧告诉你如何快速学习MySQL数据库

    1.如何快速掌握MySQL? ⑴培养兴趣兴趣是最好的老师,不论学习什么知识,兴趣都可以极大地提高学习效率.当然学习MySQL 5.6也不例外.⑵夯实基础计算机领域的技术非常强调基础,刚开始学习可能还认 ...

  7. 企业QQ在线咨询接入

    普通QQ在线咨询接入   http://wpa.qq.com/msgrd?v=3&uin=4009603616&site=qq&menu=yes;   企业QQ在线咨询接入   ...

  8. CentOS6.5增加挂载点容量

    一.背景:因为公司虚拟机 (/) 目录容量过小,导致一些任务不能正常执行,需要给虚拟机扩容 二.操作: 初始磁盘情况: 1.使用 df 命令查看磁盘与目录的容量: [root@shaonian ~]# ...

  9. 2019-2020-1 20199319《Linux内核原理与分析》第九周作业

    进程的切换和系统的一般执行过程 进程调度的时机 1.中断:起到切出进程指令流的作用.中断处理程序是与进程无关的内核指令流.中断类型: 硬中断:可屏蔽中断和不可屏蔽中断.高电平说明有中断请求. 软中断/ ...

  10. java string split 怎么保留尾部空字符串

    # 不保留尾部空字符串 public class QQ { public static void main(String[] args) { String str = "a,b,c,d,&q ...