Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 ui:包括src属性';s EL在复合组件中解析为null_Jsf 2_Facelets_Composite Component - Fatal编程技术网

Jsf 2 ui:包括src属性';s EL在复合组件中解析为null

Jsf 2 ui:包括src属性';s EL在复合组件中解析为null,jsf-2,facelets,composite-component,Jsf 2,Facelets,Composite Component,我有如下复合组件: <?xml version="1.0" encoding="UTF-8"?> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:cc="http://java.sun.com/jsf/composite" xmlns:h="http://java.sun.com/jsf/html"

我有如下复合组件:

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:f="http://java.sun.com/jsf/core" 
      xmlns:cc="http://java.sun.com/jsf/composite" 
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:c="http://java.sun.com/jsp/jstl/core">
    <cc:interface>
        <cc:attribute name="path" shortDescription="Page Title" type="String"/>
    </cc:interface>
    <cc:implementation>
            <ui:include src="#{cc.attrs.path}"/>
    </cc:implementation>
</html>

上面代码的问题是
#{cc.attrs.path}
被解析为空。如果
src
是硬编码的,则
ui:include
可以正常工作


已尝试使用
h:outputText
检查
{cc.attrs.path}
,并且路径显示正确,这意味着仅在
ui:include
EL未解析的情况下。有什么帮助吗?

这段代码在我的电脑上运行得很好。EL在任何情况下都已解决,但我认为include失败,因为您尝试包含的文件格式不正确或不存在


也许你可以告诉我们你想包含什么样的文件,然后给我们这个文件的一部分?

它是一个常规的xhtml文件,包含大量标准和定制的jsf组件。事实上,硬编码路径工作正常,文件加载正确,所以我认为这不是文件的问题。我调试了facelet/jsf源代码,发现EL解析为null。这个复合组件是通过编程创建的。你说得对。您能告诉我们您是如何在页面中设置合成的吗?另一个问题:您是否正在使用嵌套复合结构(将复合结构转换为复合结构)?