我正在开发一个 ICEfaces 3 应用程序,并且我有以下 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:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ice="http://www.icesoft.com/icefaces/component"
xmlns:icecore="http://www.icefaces.org/icefaces/core"
xmlns:ace="http://www.icefaces.org/icefaces/components"
>
<h:head></h:head>
<h:body>
<ui:composition template="template/main-template.xhtml"> ... </ui:composition>
</h:body>
</html>
使用这个没有包含在 WAR 中的 icefaces-compat 的模板效果很好(只要我显然只使用 ACE 组件)。但是现在我喜欢使用一些冰:组件,因此需要-compat JAR。但是当将此 JAR 添加到 WAR 时,会发生以下错误:
12.04.2012 13:56:32 org.icefaces.impl.event.BridgeSetup isListenerForSource
WARNING: ICEfaces configured for view /configuration.xhtml but h:head and h:body components are required
当我从侧面完全移除ui:composition
标签时也会发生此错误,即<h:body>
标签为空。
我很乐意提供更多信息,但现在我不确定什么是重要的,因为我所做的唯一区别是将 -compat 库添加到 WAR。