在GSP中检查对象是否属于某种类型

时间:2011-11-30 03:04:12

标签: grails groovy

我在GSP视图中有一个域对象列表,并想检查它们中是否有特定类型:

Class Equipment {}
Class Loader extends Equipment {}

...在视图中:

<g:each in="${Equipment.list()}" var="e">
   ... check if e is a Loader....
</g:each>

我正在尝试检查是否有GSP片段来构建导航菜单,并想知道这是否是正确的检查位置。

2 个答案:

答案 0 :(得分:9)

如果您在GSP复合体中制作逻辑,则应考虑创建一个taglib。它也很容易测试 - GSP需要通过功能测试和正在运行的Web服务器进行测试,但您可以使用集成测试来测试taglib。

答案 1 :(得分:5)

您可以尝试:

<g:each in="${Equipment.list()}" var="e">
     <g:if test="${e instanceof your.package.Loader}">Do anything</g:if>
</g:each>