Spring的jsp标签库
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>
转义为到<h1>Hello</h1>
Spring的jsp标签库的更多相关文章
- Java开源JSP标签库
01displytag 与Struts结合使用最出名的一个tag主要是显示表格数据很漂亮.完善. 02cewolf tag 用来在web上显示复杂图形报表的一个jsp tag. 03Loading T ...
- 自定义JSP标签库及Properties使用
自定义JSP标签库及Properties使用 自定义JSP标签 自定义JSP标签技术是在JSP 1.1版本中才出现的,它支持用户在JSP文件中自定义标签,这样可以使JSP代码更加简洁. 这些可重用的标 ...
- 通过引入SiteMesh的JSP标签库,解决Freemarker与SiteMesh整合时,自定义SiteMesh标签的问题
不少web项目,都用到了SiteMesh.SiteMesh可以和JSP.Freemarker等模版进行整合,有一定的好处,当然也有其不好的地方.我个人觉得,如果没有必要,不要在项目中引入太多的工具和技 ...
- spring security的标签库
应用标签库:<%@ taglib prefix='security ' uri='http://www.springframework.org/security /tags' %> < ...
- JSP标签库
step1: 定义一个标签处理类:改类必须实现SimpleTag接口,在实际中是拓展它的子类SimpleTagSupport.复写doTag方法 public class MyTag extends ...
- JavaWeb学习记录(十九)——jsp标签库
1.out标签 <% //局部变量 String name="zsf>&<zz"; pageContext.se ...
- jsp标签库选择框示例
<select onchange="yearchange(this);" name="year" id="year"> < ...
- 使用Spring标签库
A.Spring标签库 Web项目若使用Spring Web MVC并使用JSP作为表现的话.从Spring2.0版本开始提供一套标签库可供使用. 使用标签库无非是易于开发,维护之类云云.这里就不阐述 ...
- Spring Security(18)——Jsp标签
目录 1.1 authorize 1.2 authentication 1.3 accesscontrollist Spring Security也有对Jsp标签的支持的标签库 ...
随机推荐
- bzoj 4237 稻 草 人
bzoj 这个矩形有三个限制,分别是右上角点的横纵坐标分别大于左下角废话,并且中间区域没有点.那么可以先按横坐标排序,然后枚举左边的点和右边的点匹配.为了保证复杂度,这里每次把点集一分为二,先递归处理 ...
- thinkphp3.2.3 自定义路由实践
使用了很久的tp3,却没发现还有这么可玩性的功能. 官方文档:要使用路由功能,前提是你的URL支持PATH_INFO(或者兼容URL模式也可以,采用普通URL模式的情况下不支持路由功能),并且在应用( ...
- Hyperledger Fabric(2)共识与交易
Fabric 的网络节点本质上是互相复制的状态机,节点之间需要保持相同的账本状态.为了实现这个目的,各个节点需要通过共识( consensus )过程,对账本状态的变化达成一致性的认同. Fabric ...
- Go语言的基本语法(二)
一·if -else (1) package main import "fmt" // if - else //func main(){ // // 先定义 一个变量 // v ...
- 配置jupyter notebook网页浏览
上一篇博文已经介绍安装了Anaconda3:https://www.cnblogs.com/hello-wei/p/10233192.html jupyter notebook [I 11:33:11 ...
- postgres日常操作
1.启动pgsl数据库 [postgres@master ~]$ pg_ctl start [postgres@master data]$ pg_ctl -D /usr/local/pgsql/dat ...
- KVM和Docker的对比
虚拟化技术对比: KVM:全虚拟化,需要模拟各种硬件 docker:严格来说不算是虚拟化技术,只是进程隔离和资源限制 实例启动进程对比: 在kvm虚拟机中执行top命令,看宿主机进程树,根本看不到to ...
- DNS解析综合学习案例(附详细答案)
1.用户需把/dev/myvg/mylv逻辑卷以支持磁盘配额的方式挂载到网页目录下2.在网页目录下创建测试文件index.html,内容为用户名称,通过浏览器访问测试3.创建用户账户,对LVM配置磁盘 ...
- margin 负边距 的知识点
本文介绍了css负边距在普通文档流中的作用和效果.左和右的css负边距对元素宽度的影响.css负边距对浮动元素的影响.css负边距对绝对定位元素的影响.懒人建站偶然浏览到这篇文章,感觉非常好,于是分享 ...
- height 自适应问题
何为高度自适应? 高度自适应就是高度能跟随浏览器窗口的大小改变而改变,典型的运用在一些后台界面中上面一栏高度固定用作菜单栏或导航栏,下面一栏高度自适应用于显示内容.高度自适应不像宽度自适应那样简单,在 ...