Grails g:if和字符串比较

时间:2009-06-30 22:50:38

标签: grails groovy

我编写了一些代码,用于检查用户是否以管理员身份登录,以限制谁可以更改其他用户的权限,但if标记永远不会成立。我已经确定了正确的数据是通过回应它,但到目前为止我找到的任何东西都没有给我一个解决方案。

<g:if test="${session.userPermissions == 'Administrator'}">
    <g:select id="permissions" name="permissions" from="${userInstance.constraints.permissions.inList}" value="${userInstance.permissions}" ></g:select>
</g:if>
<g:else>
    ${userInstance.permissions}
</g:else>

2 个答案:

答案 0 :(得分:8)

尝试“java”字符串方式:D

<g:if test="${session.userPermissions.equals('Administrator')}">
....
</g:if>

答案 1 :(得分:1)

它结束了一个时髦的事情 -

我使用标准来获取用户的登录信息。条件返回用户变量列表。我正在设置session.userPermissions = user.permissions

在groovy中,您可以访问每个列表元素的属性并将其作为新列表检索(下面的示例)。这给了我会话中的列表变量。这是一个非常酷的功能,但不是你喜欢这样的事情。

groovy> def demo = []
groovy> demo[0] = [a:1, b:2]
groovy> demo[1] = [a:3, b:4]
groovy> demo[2] = [a:5, b:6]
groovy> demo.a

Result: [1, 3, 5]