Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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 facelets使用值绑定表达式插入/定义_Jsf 2_Facelets_Icefaces - Fatal编程技术网

Jsf 2 facelets使用值绑定表达式插入/定义

Jsf 2 facelets使用值绑定表达式插入/定义,jsf-2,facelets,icefaces,Jsf 2,Facelets,Icefaces,我尝试将bean属性绑定到ui:insert name属性 <ice:panelTabSet var="tab" items="#{mainTabsTempl.tabs}"> <ice:panelTab label="#{tab.label}"> <ui:insert name="#{tab.tabContentUIName}"> content of #{tab.tabCo

我尝试将bean属性绑定到ui:insert name属性

<ice:panelTabSet var="tab" items="#{mainTabsTempl.tabs}">               
    <ice:panelTab label="#{tab.label}">  
        <ui:insert name="#{tab.tabContentUIName}">   
           content of #{tab.tabContentUIName} tab   
        </ui:insert>    
    </ice:panelTab>  
</ice:panelTabSet>

#{tab.tabContentUIName}选项卡的内容
和ui:insert像字符串一样查看此值绑定表达式


有什么方法可以传递值绑定表达式吗?

现在我知道您想要实现什么了。不幸的是,这是不可能的,至少有两个原因。第一个
ui:insert
仅支持文本。它显式地检查
name
属性,并在它不是文本时抛出异常。第二个原因是
panelTabSet
是一个组件,因此它的变量-“tab”(在您的例子中)在呈现阶段可用,而
ui:insert
/
ui:define
是在视图构造期间执行的标记处理程序


你可以试着重新表述你的问题,然后再问一次。我的理解是,您希望有一个丰富的选项卡集模板/组件,您可以将一系列面作为单独的选项卡传递给它。我猜应该是用
f:facet
尝试复合组件和
insertFacet
。虽然我没有使用复合组件,但我无法在这里提供帮助。

我认为您试图使用错误的工具来完成此工作。请描述您在不参考插入/定义的情况下试图实现的目标。我已编辑了我的问题。正如您所见,我在
c:forEach
中使用
ui:insert
,因此我需要将“name”属性作为变量传递。您将如何使用此模板?介意用ui发布部分吗:定义如你想象的那样?mrembisz,你完全正确。我问的问题不对。在这种情况下,我无法使用dynamic composit元素创建模板。我只尝试在循环中构建tabSet并管理ui:在java类中插入名称,但我不知道在这种情况下如何传递绑定表达式。很抱歉,你不觉得这是我的错吗?你在这个问题上有
[jstl]
标签,这完全没有意义,所以我把它删除了。是的,这就是我的意思。但主要的问题是在
ui:insert
component属性中使用bean属性值。谢谢你的回答。