《Java EE 7精粹》—— 3.12 Passthrough属性和HTML5友好的标记

简介: HTML5为现有的HTML元素增加了一系列的新属性。这些属性包括input元素的type属性,可以支持例如电子邮件、网址、电话、数量、范围和日期类型的值:

本节书摘来异步社区《Java EE 7精粹》一书中的第3章,第3.12节,作者:【美】Arun Gupta,更多章节内容可以访问云栖社区“异步社区”公众号查看。

3.12 Passthrough属性和HTML5友好的标记

HTML5为现有的HTML元素增加了一系列的新属性。这些属性包括input元素的type属性,可以支持例如电子邮件、网址、电话、数量、范围和日期类型的值:

7d5ade1bf9f0b73f5303b10977762d91e0aee508

这段代码可以让浏览器检查输入的文字是否为电子邮件格式。

此外,自定义数据属性,也被称为data-*属性,可以被定义为存储页面或应用程序私有的自定义数据。每个HTML元素可能有指定的任意数量、任何值的自定义数据属性:

0a83e1e4e2541e87a4e3ab4770468bb3820a7f68

这段代码引入了数据长度data-length为自定义数据属性。

这些属性不会被页面渲染,但可以通过JavaScript读取。该属性可以在JavaScript中被访问:

1c00e73207a179d1350d16cd2c9ca9d6e1b9310b

在JSF2.2之前,默认情况下,这些新引进的类型和data-*属性不被组件支持。JSF组件是否支持这组可用的属性,是由UIComponent和Renderer组合来决定。在某些情况下,属性的值由UIComponent或Renderer来解释(例如,h:panelGrid的列属性),而在其他情况下,该值直接传给用户代理(例如,h:inputText的lang属性)。在这两种情况下,UIComponent/Renderer事先知道这组可允许使用的属性。

JSF2.2引入了passthrough属性,这让我们可以列出任意键/值对,直接传递给用户代理,而不经由UIComponent或Renderer解释。可以用以下三种不同的方式来指定passthrough属性。

http://xmlns.jcp.org/jsf/passThrough XML命名空间分配短名称,作为属性的前缀:

935c07e1755f556faa52b196a93b581808688372

在这段代码中,p是命名空间的短名称。

在一个组件内,嵌套的标签:

aa31557ad903b40c18e1b4e854535e657c90ae6a

在这段代码中,type属性的类型为email时,被标记为是一个passthrough属性。

一个组件中内嵌标签:

09de40b701dcd8e335fca7bbe358c51f9af5ead6

#{user.myAttributes}必须指向一个Map ,其中的值可以是文字或值表达式。

这种机制可以应用于任何JSF组件而不限于HTML5元素。

相关文章
|
30天前
|
Java
有关Java发送邮件信息(支持附件、html文件模板发送)
有关Java发送邮件信息(支持附件、html文件模板发送)
30 1
|
1月前
|
数据可视化 前端开发
HTML基础结构和常用标记的例子
HTML基础结构和常用标记的例子
15 0
|
1月前
|
数据安全/隐私保护
7.常用的HTML标记
7.常用的HTML标记
13 0
N..
|
1月前
HTML常用标记
HTML常用标记
N..
13 1
|
1月前
|
Java 数据库 数据库管理
html、sqlserver、java基础总结
html、sqlserver、java基础总结
11 0
|
1月前
|
前端开发 Java 数据库
HTML、sqlserver数据库和java前七章节的复习(一)
HTML、sqlserver数据库和java前七章节的复习(一)
8 0
|
1月前
|
分布式计算 安全 Java
Java的三大体系架构:深入剖析Java的三大体系架构,包括Java SE、Java ME和Java EE等
Java的三大体系架构:深入剖析Java的三大体系架构,包括Java SE、Java ME和Java EE等
45 1
|
1月前
|
存储 开发者 SEO
|
1月前
|
Java API
java查询属性个数
【2月更文挑战第11天】
|
1月前
|
移动开发 JavaScript 前端开发
编程笔记 html5&css&js 028 HTML输入属性(2/2)
编程笔记 html5&css&js 028 HTML输入属性(2/2)