2011-02-09 109 views
4

我有一個菜單項,只有在用戶具有某些角色時纔想顯示/隱藏。JSF表達式語言(EL)問題

我爲此使用了呈現的屬性,但我被卡在某物上。該工程...

rendered="#{loginHandler.hasStaffRole}" 

...但是這不...

rendered="#{loginHandler.hasStaffRole or loginHandler.hasInstructorRole or loginHandler.hasVolunteerRole}" 

我在Eclipse中得到了問題的一個錯誤是:

「不能申請表達式運算符到方法綁定「

任何想法我應該如何解決這個問題?

回答

8

回答我自己的問題。問題是需要使用LoginHandler.hasStaffRole()方法來處理LoginHandler.isHasStaffRole()以便將其識別爲屬性。 (最後我把它改爲.isUserHasStaffRole。)

謝謝。

1

我有同樣的問題: rendered="#{user.canEdit or user.isRole('ROLE_1', 'ROLE_2')}"

的「解決方案」爲我的Eclipse 4.3爲扭轉參數:rendered="#{user.isRole('ROLE_1', 'ROLE_2') or user.canEdit}"

添加括號沒有治癒它。 您的里程可能會有所不同。