我应该在JSF 1.2/2.0/2.1中使用什么DTD来验证我的配置XML?

ccp*_*ava 6 validation jsf dtd jsf-2

目前,我有以下DTD:

<!DOCTYPE faces-config PUBLIC
 "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
 "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
Run Code Online (Sandbox Code Playgroud)

并且它不验证1.2标签,例如:

managed-bean => managed-property
Run Code Online (Sandbox Code Playgroud)

我找不到更新版本的太阳:http: //java.sun.com/dtd/

从一些教程中,我看到人们根本不使用DTD for JSF 2,我应该尝试找到DTD还是不推荐使用DTF for JSF 1.2?

非常感谢你的建议.

Bal*_*usC 12

JSF 2.0没有DTD.这是一个XSD.

<?xml version="1.0" encoding="UTF-8"?>
<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
    version="2.0"
>
    <!-- Config here -->
</faces-config>
Run Code Online (Sandbox Code Playgroud)

同样的故事适用于JSF 1.2.

<?xml version="1.0" encoding="UTF-8"?>
<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
    version="1.2"
>
    <!-- Config here -->
</faces-config>
Run Code Online (Sandbox Code Playgroud)

如果您在JSF 1.2/2.0上使用JSF 1.1 DTD,那么这些应用程序将以JSF 1.1模式运行.你真的不想拥有它.