我正在学习本教程: -
http://blogs.oracle.com/enterprisetechtips/entry/true_abstraction_composite_ui_components
但它不适合我。
这是我的index.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:h="http://java.sun.com/jsf/html"
xmlns:ez="http://java.sun.com/jsf/composite/simpleout">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<ez:loginPanel>
</ez:loginPanel>
</h:body>
</html>
这是我在WEB-INF/resources/simpleout
<!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:h="http://java.sun.com/jsf/html"
xmlns:composite="http://java.sun.com/jsf/composite">
<head>
<title>This will not be present in rendered output</title>
</head>
<body>
<composite:interface>
<composite:attribute name="value" required="false"/>
</composite:interface>
<composite:implementation>
<h:outputText value="#{cc.attrs.value}" style="background-color: yellow"/>
</composite:implementation>
</body>
</html>
我总是收到这个错误: -
•Warning: This page calls for XML namespace http://java.sun.com/jsf/composite/simpleout declared with prefix ez but no taglibrary exists for that namespace.
请帮帮我。
提前致谢:)
答案 0 :(得分:1)
复合组件确实属于Web根目录中的目录资源,而不属于WEB-INF。其他一切似乎都是正确的。在我看来,将资源放在WEB-INF下会更有意义,因为浏览器不应该访问它,但这似乎是规范所说的。