我已经找到了很多关于如何使用 ui:include 的信息,现在想使用它。我在多个页面上有几个控件执行完全相同的操作,但每个页面上的模型(值等)略有不同。有没有办法动态分配给控件的值(可能是通过支持 bean 上的属性)?
例如:
<h:form id="formQInfo1">
<h:outputText escape="false" value="#{surveyFormController.selectedQuestionResponse.questionInfo1.response}"/>
</h:form>
现在我想从父 xhtml 页面的支持 bean 发送 selectedQuestionResponse 并将其分配给包含的 xhtml 页面。或者更好的是,我可以让实际值动态调用不同的支持 bean 吗?
如果我走错了方向并且有更好的方法来做到这一点,我很乐意听到它!
谢谢!
最佳答案
具体的功能需求不是很清楚,但是你陈述问题的方式倾向于这个答案:
<ui:include src="/WEB-INF/some.xhtml">
<ui:param name="selected" value="#{surveyFormController.selectedQuestionResponse}" />
</ui:include>
然后可以在 /WEB-INF/some.xhtml
中访问,如下所示:
#{selected.questionInfo1.response}
要进一步了解一些步骤,您可能需要查看标记文件和/或复合组件。这允许传递( Action )监听器方法甚至转换器/validator 。
另见:
关于java - jsf 包括动态分配值、监听器等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12979671/