2009-10-28 50 views
2

只是想知道是否有方法從我的類訪問方法而不創建自定義taglib。我有一個提供4種方法的類:hasDisplay(),hasCreate(),hasDelete()和hasEdit() - 它們都只是返回一個布爾值。來自JSTL的訪問方法

從我的jsp我只是想

<c:if test="{ar.hasEdit}"></c:if> 

但這隻能用getter和setter方法的工作原理,是嗎?

+0

我已經通過設置自定義tld和定義函數解決了我的美容問題。像魅力一樣工作,是我需要的。 :) – onigunn 2009-10-28 09:08:22

回答

6

如果您不想編寫自己的標籤,則可以爲提供「beanish」接口的對象提供裝飾器。所以你用isHasEdit()包裝hasedit(),這樣cou就可以保持你的jsps乾淨,仍然使用所需的語法,但最終會得到「髒」的包裝。

我會去定製taglib。這並不複雜。

+0

如果您可以使用適當的腳本語言編寫自定義標籤,那將會很棒。標記文件可以達到某個程度,但是有限。 – skaffman 2009-10-28 09:33:45

+0

那麼我用JSP標籤和Java中的複雜標籤編寫簡單的標籤。工作很好。我認爲可以用任何jvm語言編寫標籤。 – 2009-10-29 08:04:27

1

正確,JSP EL只能訪問bean屬性。其他任何事情都需要一個自定義標籤庫。這不夠好,但它是。