【发布时间】:2019-11-21 17:27:23
【问题描述】:
在 JSF 中,众所周知的问题源于标记处理程序和组件之间的区别,例如为什么数据表中的 JSTL 标记不能按预期工作的问题。
我的问题是,是否存在必须做出这种区分的内在原因?为什么我们不能拥有例如一个作为标记处理程序实现的数据表,以便每一行都作为 JSF 树中的一个组件存在?
我只是想知道为什么这么多人不得不陷入这种区别所造成的坑。
【问题讨论】:
标签: jsf
在 JSF 中,众所周知的问题源于标记处理程序和组件之间的区别,例如为什么数据表中的 JSTL 标记不能按预期工作的问题。
我的问题是,是否存在必须做出这种区分的内在原因?为什么我们不能拥有例如一个作为标记处理程序实现的数据表,以便每一行都作为 JSF 树中的一个组件存在?
我只是想知道为什么这么多人不得不陷入这种区别所造成的坑。
【问题讨论】:
标签: jsf
我的问题是,为什么必须做出这种区分是否有内在原因?为什么我们不能拥有例如一个作为标记处理程序实现的数据表,以便每一行都作为 JSF 树中的一个组件存在?
效率。想象一下,您的表有 100 行,并且有 10 个列组件,而列组件又具有 2 个子组件。您将从 30 个组件增加到 3000 个组件。啊。服务器内存不会满意的。
... 这体现在为什么数据表中的 JSTL 标记不能按预期工作的问题中。
如果您依赖仅在视图渲染期间可用的变量,请不要使用 JSTL 标记。请改用rendered 属性。
对 JSF 初学者的一般建议:在您了解视图构建时间和视图呈现时间之间的区别之前,不要不要使用 JSTL。只有当您理解它时,您才会高度赞赏 JSTL 的强大功能。它将使您免于以编程方式在 bean 中创建组件。
【讨论】: