JSF 2.0没有DTD。它是XSD。
目前,我有以下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">
而且它不会验证1.2标签,比如:
managed-bean => managed-property
我找不到更新版本的sun:http://java.sun.com/dtd/
从一些教程中,我看到人们根本不使用JSF 2的DTD,我应该尝试找到一个DTD吗?或者JSF 1.2+不赞成使用DTD吗?
非常感谢你的建议。
<?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>
同样的情况也适用于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>
如果您在JSF 1.2/2.0上使用JSF 1.1 DTD,那么这些应用程序将在JSF 1.1模式下运行。你真的不想那样。