在某些实现中,我看到jsp使用java bean类作为中间存储/数据访问层来从jcr获取数据。
为什么会这样,因为jsp可以通过jcr api直接访问jcr。
关注点分离?数据的内存缓存?
只是想知道为什么在首先写jcr api时存在这样的模式。
答案 0 :(得分:3)
在较小的安装中使用scriptlet可能不是那么有问题,但是在大型多站点项目中。
分离UI代码和模型/业务逻辑可以简化可维护性并允许代码在项目上的可重用性。更改布局变得更容易。通常,这个分离是通过使用组件bean来访问JCR存储库并提供数据并使用JSP仅用于视图来完成的。
想象一下,您的客户需要在多个站点中进行大量的UI更改。更改与scriptlet和UI代码混淆的JSP更加困难,特别是如果你有很多这些。
从OO角度来看,使用JSP和scriptlet会阻止您使用继承和组合。 Scriptlet不能被抽象化。 我经历过java bean比scriptlet更容易调试,特别是在异常的情况下,java bean可以更容易进行单元测试。