html4 5能做什么,有可能在HTML 4/5中使用JSF+Facelets吗?

由于Facelets是一种基于XML的视图技术,在本质上是XML标记,所以您不能将它与HTML 4文档类型一起使用。HTML 4文档类型描述了几个不能自关闭的元素,如, , 


..但是,对于XML,您不得不关闭它们,就像, 所以使用HTML 4文档类型绝对不是Facelets的一种选择(也就是说,当您尊重标准和/或害怕w3验证器时,它将在大多数(如果不是所有的)Web浏览器上都能完美地工作)。

另一方面,HTML 5允许XML标记。这是在第3.2.2章-要素:例子:

作者也可以选择对HTML语法中的void元素使用相同的语法。一些作者还选择在斜杠之前包括空格,但这是不必要的。(以这种方式使用空格是从XHTML1.0(附录C)中的兼容性准则继承下来的惯例)

我自己用在所有的过程中,也使用JSF/Facelets,即使没有<?xml ?>在页面顶部声明。它在所有浏览器中都能很好地工作。对于XHTML文档类型,您应该按照规范使用Content-Type的application/xhtml+xml这只会使MSIE窒息(它不明白)。既然这仍然是最广泛使用的浏览器之一.。将XHTML内容类型替换为text/html是被认为是有害的你也不想这么做。

根据你们的论点:HTML 5不支持命名空间。

这不重要。名称空间只对基于XML的服务器端视图技术(如Facelets)感兴趣,而后者又可以使用这些标记生成纯HTML。以下示例对Facelets合法有效:html>

xmlns:f="http://xmlns.jcp.org/jsf/core"

xmlns:h="http://xmlns.jcp.org/jsf/html">

Title

这使得合法有效的HTML 5(用于客户端):html>

Title

Some text    

您可以看到,Facelets已经删除了XHTML声明,因为它们在客户端没有任何意义。

和,此外,HTML 5还有一些在XHTML中不可用的新元素。

这也是没有道理的。这都是关于生成的输出。也可以是HTML 5一样好。您唯一的问题可能是浏览器支持和第三方JSF组件的可用性,这些组件提供HTML 5特定的元素。从JSF2.2开始,就可以使用新的通元件将自定义元素转换为JSF组件的特性。只需给HTML 5元素一个jsf:id属性。它将在内部透明地被解释为UIPanel在JSF组件树中的实例(如).html>

xmlns:jsf="http://xmlns.jcp.org/jsf"

xmlns:f="http://xmlns.jcp.org/jsf/core"

xmlns:h="http://xmlns.jcp.org/jsf/html">

Title

Header

Nav

Main

Footer

您甚至可以从ajax引用它,如.

实际上,XHTML被夸大了。它的唯一目的是简化HTML开发,使用基于XML的工具它可以操作/转换/生成服务器端的HTML页面(如Facelets)。但是,一些初学者也不使用任何XML工具就使用它,并将其输出为原样,因为它“太酷了”-原因还不清楚。

别误会我的意思。XHTML是太棒了作为服务器端视图技术。但不是作为客户端标记技术。它在客户端完全没有价值。

另见:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值