2014-11-14 50 views
0

我试图在.gsp文件中设置一个变量,其中一个对象已从控制器传递给视图。 “项目”在这种情况下的物体称为属性“序列” 那么我现在试图做的是设置了var“行动”来item.sequence的,如果项的值。序列为空,然后将动作值设置为字符串“new”。Groovy速记if else运算符

<g:set var="action" value= "${item.sequence?item.sequence:'new'}"/> 

不幸的是,我得到了item.sequence和“new”的值。 有谁知道我可以如何做这个简写?

回答

5

听起来像是为Elvis Operator

value="${item.sequence ?: 'new'}"

工作这将返回item.sequence,只要它是truthy。如果item.sequencefalsy,那么它将返回第二个表达式。

+0

我仍然在一个字符串中获取两个值。所以item.sequence = /。我的动作变量看起来像这样。 action =“new /” – 2014-11-14 17:28:02

+0

它将item.sequence追加到'new'?我认为这里还有其他的事情,因为你有什么应该工作。 – th3morg 2014-11-14 17:48:58

+0

你说得对,它是服务器端的东西,它与它搞砸了。 – 2014-11-14 18:01:52