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

标签 validation jsf jsf-2 dtd

目前,我有以下 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?

非常感谢您的建议。

最佳答案

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>

同样的故事也适用于 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 模式运行。你真的不想拥有那个。

关于validation - 我应该在 JSF 1.2/2.0/2.1 中使用什么 DTD 来验证我的配置 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6138506/

相关文章:

ASP.NET MVC5 : Unobtrusive validation during the filling out of the form field

ruby - 用于验证仅包含字符(没有特殊字符但带有重音字符)、空格和数字的字符串的正则表达式

java - JSF preRenderView 调用次数过多

jsf-2 - 优雅地处理 session 超时的方法是什么?

Javascript 验证 - 与服务器同步

java - Mac 上缺少 spring-boot-starter-web hibernate-validator 依赖项

java - Primefaces selectOneListbox 值为 null

css - Primefaces 组件 CSS 自定义

jsf - 如何获取正在调用托管 bean 的 getter 方法的 UIComponent?

jsf-2 - 动态渲染 - 无法找到具有 clientId 的组件