我是JSF的新手,我已经阅读了一些规范,但仍然有许多我不理解的事情。
我加入了一个JSF1.2 + Richfaces 3.3 +一些允许用参数调用方法的EL项目。
我创建了一个可重用的模板xhtml,我有一个bean,它包含模板需要构建和渲染自身的所有数据。 bean在控制器中引用。
模板采用2个参数,控制器和字符串值功能,用于生成保存数据的bean。我做一些非常难看的事情来调用将在控制器上生成bean的方法:
<h:outputText value="#{controller.loadFeature(feature)}" />
然后我使用控制器引用的bean来构建视图
<ui:include src="#{controller.myLoadedBean.widgetPath}">
我在构建时需要这个bean,因为根据数据,我必须包含其他嵌套的xhtml模板。但我不知道如何管理这个:
基本上,我需要的是能够在视图构建时使用模板参数调用控制器的方法。
我不知道如何实现这一目标,或者根本不可能。也许JSF中还有其他一些机制,我不知道允许在构建视图之前/之后调用控制器。
任何帮助将不胜感激,谢谢
答案 0 :(得分:0)
我终于让我的模板工作了。我错了,JSF和Facelet组件不应该调用方法,这样他们就可以自己填充。
正确的MVC方法是先调用控制器的方法,控制器将构建视图bean,然后只重定向到JSF视图。