2012-07-12 79 views
0

我在將舊應用程序從MyFaces 1.1遷移到MyFaces 1.2時出現問題。在舊的應用程序中,如果有一個ManagedBean exampleMBean,我可以通過$ {exampleMBean.somePropertie}讀取這些屬性,但是在將MyFaces遷移到MyFaces 1.2後,這種訪問不起作用,總是返回null。在JSTL標籤(MyFaces 1.2)上閱讀JSF屬性

如果我嘗試使用,那麼這是行不通的。標籤不能檢索$ {exampleMBean.someValue}值。爲了解決這個問題,我將c:if test occurrences替換爲t:div rendered =「#{exampleMBean.someValue}」,現在可以工作。

如果我嘗試使用具有顯式值的JSTL標記,它們可以工作,但是當我嘗試訪問「jsf上下文」時,無法檢索該值。

我正在使用JBoss 4.2.3,並且我的項目已將org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL設置爲true以使用我的項目附帶的myfaces lib。

在此先感謝。

+0

只是問,但是,你嘗試使用'#{exampleBean.someValue}'而不是'$ {exampleBean.someValue}'嗎?它在你的t:div上工作。 EL表達式被#{}包圍。 – Gamb 2012-07-12 13:10:56

+0

您好,當我嘗試從$ {更改爲#{我收到此錯誤時:根據標記文件中的TLD或屬性指令,屬性測試不接受任何表達式 – 2012-07-12 13:23:48

+0

有時配置問題會阻止JSTL標記解釋EL表達式。你使用哪個版本的JSTL? – Gamb 2012-07-12 15:19:03

回答

0

我已經解決了在上下文中「開始」bean的問題,實際上我只是在ManagedBeans超類中創建了一個「創建」方法並調用它,此方法啓動了bean並將它放入上下文中和JSF。可能不是一個「聰明」的解決方案,但會是短暫的。