我是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
轻松完成答案 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;
那会有用吗?