0
看起来人们能够在SWF 2.3.1中实现复合组件,但我无法找到如何完成的明确参考。我遵循JSF复合组件的基本结构,但是我的SWF应用程序似乎无法识别taglib命名空间。在Maven项目中实现JSF复合组件
有一个工具/ IDE的警告,但更重要的是没有在浏览器中看到一个运行时警告,JSF是在屏幕上显示以下警告用户:
Warning: This page calls for XML namespace http://java.sun.com/jsf/composite/myjsf declared with prefix mj but no taglibrary exists for that namespace.
组件定义:
的src /主/资源/ myjsf/testComponent.xhtml:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:composite="http://java.sun.com/jsf/composite">
<composite:interface>
<composite:attribute name="attr" />
</composite:interface>
<composite:implementation>
#{cc.attrs.attr});
</composite:implementation>
</html>
在一个给定的XHTML引用:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:mj="http://java.sun.com/jsf/composite/myjsf">
<!-- snip -->
<mj:testComponent attr="x" />
</ui:composition>
这似乎是一个工具包(IDE /编译器/等)的警告,而不是一个运行时的警告。当你真正运行代码时会发生什么?只是为了确保一些工具不像他们假装的那么聪明。 – BalusC 2013-02-22 15:56:26
对不起,我应该更清楚。是的,有一个工具包警告,但我在这里发布的实际警告是在运行时在浏览器中。 – Rich 2013-02-22 18:11:29
如果您使用的是Eclipse/STS,您的'资源'文件夹应位于WebContent文件夹下。 – rootkit 2013-02-22 18:16:23