通常我们有很多页面有时应该在视图模式下可用,有时在编辑模式下。更糟糕的是,有时候只有一些领域应该是可编辑的。
是否有任何设计模式和最佳做法?一种解决方案是创建2个页面 - 一个用于视图,一个用于编辑。另一种方法是应用css样式使所有输入看起来像普通的不可编辑文本。还有其他更好的吗?
答案 0 :(得分:0)
在我们的应用程序中,页面上的编辑器元素具有“只读”属性,并相应地修改DOM。因此,当组件可编辑时,您将获得span
(或组件在只读模式下使用的任何内容)或input
元素。
在服务器上,这是通过DSL控制的,它定义了您编辑的对象类型,您可以查看哪些字段以及每个字段的模式。
整个应用程序基于ZK,因为它可以很容易地从Java代码中替换部分DOM。
答案 1 :(得分:0)
我不会采用你的两页方法。让我们举个例子,你在页面上有10个字段。对于不同的请求(例如,不同的用户权限,角色或其他功能),您可以呈现包含不同可编辑字段集的页面。
request1, field 1,2,3 should be editable
request2, field 2,3 should be editable
request3, field 3,6,7 should be editable
...
您将如何在多页方法中处理此问题?
我会在服务器端创建一个列表,其中包含需要显示为可编辑的字段(例如名称)。
在您的jsp中,当您打印字段时,检查该字段是否在该列表中,如果为true,则将其显示为可编辑,否则为readonly。
希望有所帮助