binding="#{cc.table}":目标无法到达,标识符 'cc' 解析为空
binding="#{cc.table}": Target Unreachable, identifier 'cc' resolved to null
我正在尝试重现以下 example,但在 dynamicFieldList.xhtml
中未检测到 #{cc.table}
,并且出现以下错误:
/WEB-INF/tags/dynamicFieldList.xhtml @17,93 binding="#{cc.table}": Target Unreachable, identifier 'cc' resolved to null
下面是代码行
<ui:composition
...
xmlns:cc="http://java.sun.com/jsf/composite">
...
<cc:implementation>
<h:dataTable id="table" binding="#{cc.table}" value="#{cc.attrs.value}" var="field">
<h:column><h:outputLabel value="#{field.label}" /></h:column>
// ...
</cc:implementation>
...
可能与同一问题有关,但也未检测到 "Field" Class 的输出标签中的标签和值字符串。这可能是什么原因?
我对复合组件实现中此位置的内容辅助的期望是不可能的。
通过创建以下文件夹:WebContent > resources > mycomponents 我放置复合组件的位置解决了我的问题。
您的错误消息中的路径看起来不正确。
/WEB-INF/tags/dynamicFieldList.xhtml
复合组件不属于那里。您似乎已将复合组件视为标记文件。这是不对的。它与标记文件非常不同。复合组件应该放置在代表库名称的子文件夹中的 JSF /resources
文件夹中。下面的示例使用 components
作为库名称。
WebContent
|-- META-INF
|-- WEB-INF
|-- resources
| `-- components
| `-- dynamicFieldList.xhtml <--- Here.
`-- some.xhtml
此外,您不需要像对标记文件那样在 *.taglib.xml
文件中声明它们。您可以通过隐式 http://java.sun.com/composite/[libraryName]
XML 命名空间来声明它们。
<html ... xmlns:my="http://java.sun.com/composite/components">
...
<my:dynamicFieldList ... />
另请参阅:
- Our composite component wiki page
- When to use <ui:include>, tag files, composite components and/or custom components?
我正在尝试重现以下 example,但在 dynamicFieldList.xhtml
中未检测到 #{cc.table}
,并且出现以下错误:
/WEB-INF/tags/dynamicFieldList.xhtml @17,93 binding="#{cc.table}": Target Unreachable, identifier 'cc' resolved to null
下面是代码行
<ui:composition
...
xmlns:cc="http://java.sun.com/jsf/composite">
...
<cc:implementation>
<h:dataTable id="table" binding="#{cc.table}" value="#{cc.attrs.value}" var="field">
<h:column><h:outputLabel value="#{field.label}" /></h:column>
// ...
</cc:implementation>
...
可能与同一问题有关,但也未检测到 "Field" Class 的输出标签中的标签和值字符串。这可能是什么原因?
我对复合组件实现中此位置的内容辅助的期望是不可能的。
通过创建以下文件夹:WebContent > resources > mycomponents 我放置复合组件的位置解决了我的问题。
您的错误消息中的路径看起来不正确。
/WEB-INF/tags/dynamicFieldList.xhtml
复合组件不属于那里。您似乎已将复合组件视为标记文件。这是不对的。它与标记文件非常不同。复合组件应该放置在代表库名称的子文件夹中的 JSF /resources
文件夹中。下面的示例使用 components
作为库名称。
WebContent
|-- META-INF
|-- WEB-INF
|-- resources
| `-- components
| `-- dynamicFieldList.xhtml <--- Here.
`-- some.xhtml
此外,您不需要像对标记文件那样在 *.taglib.xml
文件中声明它们。您可以通过隐式 http://java.sun.com/composite/[libraryName]
XML 命名空间来声明它们。
<html ... xmlns:my="http://java.sun.com/composite/components">
...
<my:dynamicFieldList ... />
另请参阅:
- Our composite component wiki page
- When to use <ui:include>, tag files, composite components and/or custom components?