对于我的应用程序,我希望拥有不同权限的用户.一个权限允许用户查看我的数据库中的数据,而另一个权限允许他们编辑数据.在登录时,我会检查他们的许可,以确定他们是否可以编辑数据.如果用户具有只读权限,我正在寻找一些方法来禁用整个页面.是否有一种简单的方法来禁用< h:form>中的所有内容标签?我需要能够禁用多个页面,希望通过查看supbean中的一个布尔值来实现.任何帮助将不胜感激.
-编辑-
是否有任何容器或类似物可以包裹我的输入可以设置为禁用?这样我只需要在一个地方引用diable,并且如果在我拥有的其他逻辑中需要,还可以让每个字段设置自己的禁用属性?
解决方法
您可以禁用按钮,链接,输入字段(允许编辑的所有内容)等…将它们全部指向支持bean中的相同值.
<h:inputText disabled="#{!bean.permissionToWrite}">
我不知道如何禁用表单中包含的所有内容,但您可能不希望这样做,因为您可能希望用户提交带有表单的搜索查询(即搜索框).
更新:回答Alex Larzelere的评论.
在这种情况下,恕我直言最好使用禁用而不是渲染,因为您可能希望在inputText框中向用户显示字段的值,但不允许他修改它.如果你不渲染它,他就看不到它.您也可以使用outputText来显示它,但是您必须维护两个元素而不是一个元素.
更新回答问题中的编辑:例如,您可以将组件包装在h:panelGroup中并根据您的逻辑进行渲染,但是您无法禁用h:panelGroup内部的输入字段,您必须单独执行此操作.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。