2012-07-05 48 views

回答

19

${foo.class.name}返回完全限定的名稱foo

instanceof已經是您在設計良好的OO程序中很少使用的東西,應該在JSP EL中更少地使用它,其中方法在動態調用時不關心實際類型,最終目標應該放在哪裏只是爲了生成標記。

+2

謝謝。但是'$ {foo.class.name}'似乎不能在Tomcat7下工作,直到額外的配置更改,但不幸的是我沒有權限進入。類名檢查發生在一個表格tagx文件中,該文件適用於多個地方。然而,現在對於特定的表格,我需要檢查對象類名稱以輸出其字段值。我不知道如何用更好的主意來妥協。 – Dreamer 2012-07-05 19:17:47

+9

在tomcat 7中(所以使用JSP EL 2.2),你實際上可以執行'$ {foo.getClass()。name}'並且它可以正常工作... – 2012-09-04 08:30:31

+7

如果你想使它在Tomcat 6和7中都能正常工作,有兩個選擇: - 使用$ {foo ['class']。name},它可以在兩個版本中工作 - 或者將Tomcat 7配置爲接受舊格式-Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK = true – 2014-03-11 09:14:47