检查自定义属性的值是否为true

时间:2013-09-18 09:44:14

标签: java liferay velocity liferay-velocity

我按照this guide在Liferay中创建自定义字段。 我创建了一个true / false属性,但是我想检查这个属性是真还是假,如果是,则进入菜单/ Page a cssClass。 我试过这个:

#set ($menu = $nav_item.getLayout().getExpandoBridge().getAttribute("get-menu"))
#if ($menu == "true")
    <a href="" class="menu True">$nav_child.getName()</a>
#else
    <a href="" class="menu">$nav_child.getName()</a>
#end

但是不起作用!
如何检查自定义属性的值是真还是假? 任何帮助是极大的赞赏!非常感谢你!

2 个答案:

答案 0 :(得分:1)

如果这是一个布尔值,您可以使用以下任何一个:

#if ($menu)
#if ($menu == true)
#if ("$!menu" == 'true')

但是,它也应该适用于您的代码,所以也许您正在阅读错误的值。 $menu的价值是多少?只需打印即可查找。

答案 1 :(得分:1)

如果 get-menu ,如果条件应该起作用,Page的自定义字段将被声明为上面的布尔值

#if ($menu)
#if ($menu == true)

如果仍然不起作用检查数据库 ExpandoColumn 表,它的列名将为 get-menu ,如果设置则为默认值。

ExpandoValue 表格会显示您的自定义字段的实际值,查找与您的自定义字段相对应的 columnId classPK 这将是您的页面布局ID。此行将具有您的值,即为真/假。

如果您的页面存在此行,则该行应该适用于上面的VM代码。

希望这能帮到你!