我在JSF 2.2中使用了JBoss AS/WildFly。 這是我的faces-config.xml文件的一個例子。從我的起始頁面(菜單頁面)的結果中,我想調用下一個,to-view-id使用EL。faces-config.xml:to-view-id中的表達式總是得到評估
<navigation-rule>
<from-view-id>/index.xhtml</from-view-id>
<!-- Sales -->
<navigation-case>
<from-outcome>AUFTRAGSSUCHE</from-outcome>
<to-view-id>#{salesOrders.start()}</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>AUFTRAGSERFASSUNG</from-outcome>
<to-view-id>#{salesOrderEntry.start()}</to-view-id>
</navigation-case>
</navigation-rule>
作品,但問題是,用戶選擇AUFTRAGSERFASSUNG的EL爲前,這裏只AUFTRAGSSUCHE得到評估的所有情況。雖然從結果是不同的。 實際上,導航案例的列表要長得多。如果用戶選擇開始最後一個輸入,則所有其他輸入都會被評估。意味着bean被實例化,...不是一個輕量級的東西。所以你可以感受到不同之處,第一個菜單項開始快速,最後一個菜單項非常慢。
爲什麼評估這些EL表達式? 我有機會關閉它嗎? 任何其他提示如何改善?
我的第一個建議是(因爲你使用jsf 2.x)是使用隱式導航。 http://stackoverflow.com/questions/18037884/jsf-implicit-vs-explicit-navigation – Kukeltje
你使用的是Jboss AS還是Wildfly? JBoss AS僅支持JSF 2.1。 – teacurran
我使用的是使用JSF 2.2的WildFly 10。但舊版本顯示相同的效果。 – FrankL