Jsf 每个include都应该引用其他实例
我将XHTML页面的一部分包含到我的Web应用程序中。此部分可以包含多次。这就是问题所在!因为每个include都引用同一个java对象。这意味着每个元素都有相同的值。但是我想为每一个包含一个新的Java对象。那么,解决这个问题的最佳方法是什么呢 主页包括:Jsf 每个include都应该引用其他实例,jsf,jsf-2,reference,uiinclude,Jsf,Jsf 2,Reference,Uiinclude,我将XHTML页面的一部分包含到我的Web应用程序中。此部分可以包含多次。这就是问题所在!因为每个include都引用同一个java对象。这意味着每个元素都有相同的值。但是我想为每一个包含一个新的Java对象。那么,解决这个问题的最佳方法是什么呢 主页包括: <ui:composition template="./templates/template.xhtml"> <ui:define name="mainContent"> <ui:include sr
<ui:composition template="./templates/template.xhtml">
<ui:define name="mainContent">
<ui:include src="include/includeAbleEditor.xhtml">
<ui:param name="includeParam" value="MyClass" />
</ui:include>
<ui:include src="include/includeAbleEditor.xhtml">
<ui:param name="includeParam" value="YourClass" />
</ui:include>
</ui:define>
includAbleEditor.xhtml
<h:commandButton value="#{editorVisibility.evb.value}"
action="#{editorVisibility.evb.toggle}" />
<h:inputTextarea rendered="#{editorVisibility.evb.enabled}" />
这是我的问题的一个例子。每个包含的区域都有一个切换按钮。通过单击按钮,文本区域应显示或隐藏。但是由于布尔值的引用相同,所有
将始终具有相同的渲染值
你有什么建议吗
非常感谢 您必须持有与拥有编辑器一样多的editorVisibility.evb实例。例如,您可以在编辑器Visibility
bean中创建列表evbList
,并将一个元素作为
传递给
:
主页
<ui:include src="include/includeAbleEditor.xhtml">
<ui:param name="includeParam" value="MyClass" />
<ui:param name="evb" value="#{editorVisibility.evbList[0]}" />
</ui:include>
includAbleEditor.xhtml
<h:commandButton value="#{evb.value}"
action="#{evb.toggle}" />
<h:inputTextarea rendered="#{evb.enabled}" />
您还可以创建复合构件
另请参见:
如果使用hashmap,可以通过键而不是索引检索它