On this page
43. SpringJSP 标签库
43.1 Introduction
可以与 Spring 框架一起使用的视图技术之一是 Java Server Pages(JSP)。为了帮助您使用 Java Server Pages 实现视图,Spring 框架为您提供了一些用于评估错误,设置主题和输出国际化消息的标签。
请注意,此表单标签库生成的各种标签均符合XHTML-1.0-Strict specification和服务员DTD的要求。
本附录描述spring.tld
标签库。
43.2 参数标记
基于 JSTL fmt:param 标记的参数标记。目的是支持 message 和 theme 标签内的参数。
表 43.1. 属性
Attribute | Required? | Runtime Expression? | Description |
---|---|---|---|
value | false | true | 参数的值。 |
43.3 绑定标签
为给定的绑定路径提供 BindStatus 对象。 HTML 转义标志会参与整个页面或整个应用程序的设置(即通过 HtmlEscapeTag 或 web.xml 中的“ defaultHtmlEscape”上下文参数)。
表 43.2. 属性
Attribute | Required? | Runtime Expression? | Description |
---|---|---|---|
htmlEscape | false | true | 将此标签的 HTML 转义设置为布尔值。覆盖当前页面的默认 HTML 转义设置。 |
ignoreNestedPath | false | true | 设置是否忽略嵌套路径(如果有)。默认为不忽略。 |
path | true | true | 绑定状态信息的 bean 或 bean 属性的路径。例如 account.name,company.address.zipCode 或仅员工。状态对象将导出到页面范围,专门为此 bean 或 bean 属性 |
43.4 escapeBody 标签
使用 HTML 转义和/或 JavaScript 转义来转义其封闭的正文内容。 HTML 转义标志会参与整个页面或整个应用程序的设置(即通过 HtmlEscapeTag 或 web.xml 中的“ defaultHtmlEscape”上下文参数)。
表 43.3. 属性
Attribute | Required? | Runtime Expression? | Description |
---|---|---|---|
htmlEscape | false | true | 将此标签的 HTML 转义设置为布尔值。覆盖当前页面的默认 HTML 转义设置。 |
javaScriptEscape | false | true | 将此 JavaScript 的转义字符设置为布尔值。默认为 false。 |
43.5 eval 标签
计算一个 Spring 表达式(SpEL),然后打印结果或将其分配给变量。
表 43.4. 属性
Attribute | Required? | Runtime Expression? | Description |
---|---|---|---|
expression | true | true | 要评估的表达式。 |
htmlEscape | false | true | 将此标签的 HTML 转义设置为布尔值。覆盖当前页面的默认 HTML 转义设置。 |
javaScriptEscape | false | true | 将此 JavaScript 的转义字符设置为布尔值。默认为 false。 |
scope | false | true | var 的范围。支持“应用程序”,“会话”,“请求”和“页面”范围。默认为页面范围。除非还定义了 var 属性,否则此属性无效。 |
var | false | true | 要将评估结果导出到的变量的名称。如果未指定,则将评估结果转换为字符串并作为输出写入。 |
43.6 hasBindErrors 标记
如果发生绑定错误,则提供 Errors 实例。 HTML 转义标志会参与整个页面或整个应用程序的设置(即通过 HtmlEscapeTag 或 web.xml 中的“ defaultHtmlEscape”上下文参数)。
表 43.5. 属性
Attribute | Required? | Runtime Expression? | Description |
---|---|---|---|
htmlEscape | false | true | 将此标签的 HTML 转义设置为布尔值。覆盖当前页面的默认 HTML 转义设置。 |
name | true | true | 请求中需要检查错误的 Bean 的名称。如果该 bean 有错误,将在'errors'键下绑定它们。 |
43.7 htmlEscape 标记
设置当前页面的默认 HTML 转义值。覆盖 web.xml 中的“ defaultHtmlEscape”上下文参数(如果有)。
表 43.6. 属性
Attribute | Required? | Runtime Expression? | Description |
---|---|---|---|
defaultHtmlEscape | true | true | 设置 HTML 转义的默认值,将其放入当前的 PageContext 中。 |
43.8 消息标签
使用给定的代码检索消息,如果代码不可解析则返回文本。 HTML 转义标志会参与整个页面或整个应用程序的设置(即通过 HtmlEscapeTag 或 web.xml 中的“ defaultHtmlEscape”上下文参数)。
表 43.7. 属性
Attribute | Required? | Runtime Expression? | Description |
---|---|---|---|
arguments | false | true | 为此标签设置可选的消息参数,以(逗号)分隔的字符串(每个 String 参数可以包含 JSP EL),对象数组(用作参数数组)或单个对象(用作单个参数)。 |
argumentSeparator | false | true | 用于分隔参数字符串值的分隔符;默认为'逗号'(',')。 |
code | false | true | 查找消息时使用的代码(密钥)。如果未提供代码,则将使用 text 属性。 |
htmlEscape | false | true | 将此标签的 HTML 转义设置为布尔值。覆盖当前页面的默认 HTML 转义设置。 |
javaScriptEscape | false | true | 将此 JavaScript 的转义字符设置为布尔值。默认为 false。 |
message | false | true | 一个 MessageSourceResolvable 参数(直接或通过 JSP EL)。与 Spring 自己的验证错误类配合使用非常合适,这些错误类都实现了 MessageSourceResolvable 接口。例如,这允许您遍历表单中的所有错误,将每个错误(使用运行时表达式)作为此“消息”属性的值传递,从而实现了此类错误消息的轻松显示。 |
scope | false | true | 将结果导出到变量时使用的范围。仅当还设置了 var 时,才使用此属性。可能的值为页面,请求,会话和应用程序。 |
text | false | true | 当找不到给定代码的消息时输出的默认文本。如果未同时设置文本和代码,则标记将输出 null。 |
var | false | true | 将结果绑定到页面,请求,会话或应用程序范围时使用的字符串。如果未指定,则将结果输出到编写器(即通常直接输出到 JSP)。 |
43.9 nestedPath 标记
设置绑定标记的路径要使用的嵌套路径。
表 43.8. 属性
Attribute | Required? | Runtime Expression? | Description |
---|---|---|---|
path | true | true | 设置此标签应应用的路径。例如。 'customer'允许绑定路径,例如'address.street',而不是'customer.address.street'。 |
43.10 param 标签
基于 JSTL c:param 标记的参数标记。唯一的目的是在 url 标记内支持参数。
表 43.9. 属性
Attribute | Required? | Runtime Expression? | Description |
---|---|---|---|
name | true | true | 参数的名称。 |
value | false | true | 参数的值。 |
43.11 主题标签
使用给定的代码检索主题消息,如果代码不可解析,则检索文本。 HTML 转义标志会参与整个页面或整个应用程序的设置(即通过 HtmlEscapeTag 或 web.xml 中的“ defaultHtmlEscape”上下文参数)。
表 43.10. 属性
Attribute | Required? | Runtime Expression? | Description |
---|---|---|---|
arguments | false | true | 为此标签设置可选的消息参数,以(逗号)分隔的字符串(每个 String 参数可以包含 JSP EL),对象数组(用作参数数组)或单个对象(用作单个参数)。 |
argumentSeparator | false | true | 用于分隔参数字符串值的分隔符;默认为'逗号'(',')。 |
code | false | true | 查找消息时使用的代码(密钥)。如果未提供代码,则将使用 text 属性。 |
htmlEscape | false | true | 将此标签的 HTML 转义设置为布尔值。覆盖当前页面的默认 HTML 转义设置。 |
javaScriptEscape | false | true | 将此 JavaScript 的转义字符设置为布尔值。默认为 false。 |
message | false | true | 一个 MessageSourceResolvable 参数(直接或通过 JSP EL)。 |
scope | false | true | 将结果导出到变量时使用的范围。仅当还设置了 var 时,才使用此属性。可能的值为页面,请求,会话和应用程序。 |
text | false | true | 当找不到给定代码的消息时输出的默认文本。如果未同时设置文本和代码,则标记将输出 null。 |
var | false | true | 将结果绑定到页面,请求,会话或应用程序范围时使用的字符串。如果未指定,则将结果输出到编写器(即通常直接输出到 JSP)。 |
43.12 转换标签
使用来自 BindTag 的适当的自定义 PropertyEditor 将变量转换为字符串(只能在 BindTag 内部使用)。 HTML 转义标志会参与整个页面或整个应用程序的设置(即通过 HtmlEscapeTag 或 web.xml 中的“ defaultHtmlEscape”上下文参数)。
表 43.11. 属性
Attribute | Required? | Runtime Expression? | Description |
---|---|---|---|
htmlEscape | false | true | 将此标签的 HTML 转义设置为布尔值。覆盖当前页面的默认 HTML 转义设置。 |
scope | false | true | 将结果导出到变量时使用的范围。仅当还设置了 var 时,才使用此属性。可能的值为页面,请求,会话和应用程序。 |
value | true | true | 要转换的值。这是您要转换的实际对象(例如,日期)。使用“ spring:bind”标签当前正在使用的 PropertyEditor。 |
var | false | true | 将结果绑定到页面,请求,会话或应用程序范围时使用的字符串。如果未指定,则将结果输出到编写器(即通常直接输出到 JSP)。 |
43.13 网址标签
创建支持 URI 模板变量,HTML/XML 转义和 Javascript 转义的 URL。以 JSTL c:url 标记为模型,并考虑了向后兼容性。
表 43.12. 属性
Attribute | Required? | Runtime Expression? | Description |
---|---|---|---|
value | true | true | 要构建的 URL。该值可以包括模板\ {},该模板已被命名参数的 URL 编码值替换。必须使用此标签主体内的 param 标签定义参数。 |
context | false | true | 指定远程应用程序上下文路径。默认值为当前应用程序上下文路径。 |
var | false | true | 要将 URL 值导出到的变量的名称。如果未指定,则将 URL 写入输出。 |
scope | false | true | var 的范围。支持“应用程序”,“会话”,“请求”和“页面”范围。默认为页面范围。除非还定义了 var 属性,否则此属性无效。 |
htmlEscape | false | true | 将此标签的 HTML 转义设置为布尔值。覆盖当前页面的默认 HTML 转义设置。 |
javaScriptEscape | false | true | 将此 JavaScript 的转义字符设置为布尔值。默认为 false。 |