来自 http://xmlns.jcp.org 命名空间的标签不会呈现,而 http://java.sun.com/jsf 工作正常

2024-04-17

我有这个:

<html 
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
>
<h:selectOneRadio>
    <f:selectItem value="1" itemValue="1" itemLabel="123"/>
    <f:selectItem value="2" itemValue="2" itemLabel="321"/>
</h:selectOneRadio>

我明白了:

<f:selectItem value="1" itemValue="1" itemLabel="123"></f:selectItem>
<f:selectItem value="2" itemValue="2" itemLabel="321"></f:selectItem>
<select name="j_idt5" size="1"></select>

Why are xmlns:f="http://xmlns.jcp.org/jsf/core"标签未呈现?

我在 Netbeans 7.3 上使用 JBoss AS 7。


新的 XML 命名空间域http://xmlns.jcp.orgJSF taglib URI 是在 JSF 2.2 中引入的,JSF 2.2 是 Java EE 7 的一部分。JBoss AS 7 作为 Java EE 6 兼容的应用程序服务器,并不与 JSF 2.2 捆绑在一起,而是与 JSF 2.1 捆绑在一起。因此,新的 XML 命名空间域根本不起作用。此外,新的 JSF 2.2 特定功能(例如传递元素和属性)根本不起作用。

您需要使用 JSF 2.1 兼容的 XML 命名空间域http://java.sun.com。这是完整的集合:

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets"
>

我不确定您为什么尝试使用新的 JSF 2.2 XML 命名空间。也许您错误地阅读了 JSF 2.2 目标教程(例如Oracle Java EE 7 教程 http://docs.oracle.com/javaee/7/tutorial/jsf-intro.htm)而不是 JSF 2.0/2.1 目标(例如Oracle Java EE 6 教程 http://docs.oracle.com/javaee/6/tutorial/doc/bnaph.html)。请仔细注意版本是否匹配。

如果您确实打算在 JBoss 服务器上使用 JSF 2.2,那么您基本上应该将旧的 JBoss AS 7 升级到其 Java EE 7 兼容的后继版本野蝇8 http://www.wildfly.org/。或者,按照此处的说明手动将 JBoss AS 7 的捆绑 JSF 库升级到更新版本:在 JBoss AS / EAP / WildFly 中升级 JSF / Mojarra https://stackoverflow.com/questions/17085717/upgrade-and-use-mojarra-as-the-jsf-implementation-with-jboss-server.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

来自 http://xmlns.jcp.org 命名空间的标签不会呈现,而 http://java.sun.com/jsf 工作正常 的相关文章

随机推荐