zk mvc中的java我想在列表上迭代
我在zk中有一个程序,我需要使用mvc来设置列表框的详细信息。在我的模型中,我有一个具有id、用户名、密码和一组角色(角色是枚举)的用户。在我的控制器中,填写ListModelList<User>
在zul中,我有以下代码:
<template name="model">
<listitem >
<listcell label="${each.idUser}"></listcell>
<listcell label="${each.username}"></listcell>
<listcell label="${each.password}"></listcell>
<listcell label="${each.roles}"></listcell>
</listitem>
</template>
现在我不想把每一个都放进去。角色,但如果角色集包含例如角色,则我希望为true。管理员
我该怎么做?我试过了
<listcell label="${each.roles.contains(Role.ADMIN)}"></listcell>
但这让我总是错的,虽然有些用户有管理员的角色
# 1 楼答案
我不相信您可以从ZK's Expression Language (EL)执行像
contains
这样的函数相反,您需要将这个
contains(Role.ADMIN)
逻辑包装在一个更像getter的函数中。试试这个:将
isAdmin
的getter添加到模型对象后:这似乎需要做更多的工作,但我认为它实际上在将视图与业务逻辑分离方面有很大的帮助。像这样的小东西使视图更具声明性,更易于阅读,同时保持Java的复杂性,便于测试