我正在使用JSF并希望渲染html5标签,但它们会被忽略,而不会在我的浏览器中呈现。
因此,在下面的示例代码中,我的页面只显示一个输入框,第二个输入框根本没有呈现。
我正在使用JSF 2.2(Mojarra实现javax.faces-2.2.0-m01.jar)
知道为什么会出现这种行为吗?
我的.xhtml页面是:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p="http://xmlns.jcp.org/jsf/passthrough"
>
<h:body>
<input type="text" placeholder="Enter your Name from HTML5 tag" />
<h:form>
<h:inputText p:placeholder="Enter your Name from JSF" />
</h:form>
</h:body>
答案 0 :(得分:1)
将!DOCTYPE
声明更改为<!DOCTYPE html>
。
答案 1 :(得分:1)
最后使用Mojarra 2.2.2修复它(你甚至可以使用最新版本)。 ......与2.2.0和2.2.1中一样,XML命名空间在帖子Using new xmlns.jcp.org namespace on composites causes java.lang.NullPointerException at java.util.concurrent.ConcurrentHashMap.putIfAbsent
中详细说明