JSF在包含的Faceltes页面中的ManagedBean上设置属性

时间:2013-05-15 18:41:54

标签: jsf facelets

我是JSF的新手,并且在做一些微不足道的事情时感到非常困惑。我在这里编写这个例子来详细说明我想做的事情:

我有一个xhtml片段,比如stockQuoteFragment.xhtml,它由ManagedBean支持,比如StockQuoteService.java。 StockQuoteService.java有属性stockID和方法getStockQuote(),它具有获取stockQuote的所有逻辑,用于stockID属性上设置的值。 stockQuoteFragment.xhtml显示#stockQuoteService.stockQuote。

现在我有另一个页面Home.xhtml页面,其中包含带有getUserFavoriteStockID()方法的支持bean HomeBackingBean.java。我想在Home.xhtml中包含stockQuoteFragment.xhtml的内容,将#homeBackingBean.userFavoriteStockID的值传递给StockQuoteService.setStockID()。

我不确定如何在JSF / Facelets中执行此操作。使用简单的JSP,我可以使用JSP include和include

轻松完成

2 个答案:

答案 0 :(得分:0)

没有。

...根据标记文件中的TLD或属性指令,属性var不接受任何表达式。

我刚试过了。

但是,如果您将基于纯XML的JSF与标记一起使用,则可以轻松使用<ui:param>,如所讨论的here。我在JSP中使用JSF,对我来说没有任何帮助(<c:set>几乎没用)。

答案 1 :(得分:-1)

我可以在我之前在Home.xhtml中执行此操作:将stockQuoteFragment.xhtml包含在其中:

&lt; c:set var =“#{StockQuoteService.stockID}”value =“#homeBackingBean.userFavoriteStockID”/&gt;

那会有用吗?