我是个大风扇的保留的应用程序的逻辑在servlet,并保持JSP尽可能简单。其中一个原因是,任何良好的网络设计师应当能够扩大在他HTML知识建立在几JSTL标签做到简单的迭代,访问豆等。我们还保持更加复杂/ajax/js件后的标记库(类似于displayTag但是为我们自己的组件)。

大多数的时间一切都好-servlet是否有任何SQL它需要,并将结果存储于豆JSP访问。在那里我们有一个问题是当记录,我们希望访问被指定的设计。

最明显的例子就是主页-它需要醒目的和有效的。它不需要统一,像其余的网站。有很多的一种取舍,或"特殊情况"在这里,在这里我们要查询一个特定的产品记录的,或者什么的。

什么的设计师真正想要的是一个办法让一个产品豆通过产品标识,因此他可以访问的性质作为正常的。我们当然不想要查询的所有产品,并且我不想要查询在介绍。

我敢肯定,我要求不可能在这里,我得到的东西。我的问题是什么?

编辑

我错在认为所有应用程序的逻辑应该是完整的 之前 叫JSP?我的印象是,它被认为是最好的实践做的所有查询/算/处理在servlet然后通过(相当)哑豆(非常)哑JSP。

有几种方法,由此实际的复杂性,查询可以封装在另一个类别(定义的标签或豆),并JSP可以称呼它。此 保持JSP简单的(目标1),但JSP仍然是"触发"的查询相当 晚在这一进程。

  • 我有这个完全错误的,它的罚款做到这一点。
  • 这是一般规则,但完全确定要做到这一点,在这一实例。
  • 我可能会遇到问题?

编辑例

我希望这个例子将有助于:

该主页是不是一个"模板"喜欢的类别/搜索页面-这是定制的设计工作得很好,说的一个营销的图像和一对夫妇的特定产品的图像。但是它有关信息,这两个产品应获得的动态(这样的名称,重要的是价格)保持同步的数据库。

Servlet不可能知道其产品将这些,因为如果设计师想要改变他们/它们删除/添加更多,他应该只需要编辑JSP(以及可能的XML作为一个答案建议).

有帮助吗?

解决方案

如果我理解正确的话,你有逻辑的JSP想要一个特定的产品,但在这一点你不想要查询的数据库,并且为时已晚servlet要意识到这一点。

(A侧注意,虽然我尊重您将维持分离的问题,事实上,这是一个问题,清楚地显示,你框架有太多的逻辑表示层...但是因为我们可能不能修好那...移动)。

我的建议是你的设计者创建一个配置XML文件,该文件包含什么特殊的情况下,它需要用于前端,和你servlet可以阅读,然后通过哑豆回JSP。

或者...你把事情到多次请求使用程序和电话回servlet对每个单独的查询,然后组装页上的客户。

其他提示

它听起来你需要更好的分之间的显示器和数据库的代码。你应该具有单独的课程,仅仅处理与相互作用的数据库,和一无所知的显示。

然后你只需要创建一个方法,将产品由id并返回该豆所以显示可以拉出来的属性,它想要的东西。

你需要创建一个自定义豆这将进行查询的前结束。实际上,它可能更喜欢一些豆得到的数据,根据什么你说这里。

没问题这样做,从设计的角度;它只是具体设计的主页有更多的异质性要求比其他网站。确保你的设计师都知道,他需要进行通信他的需要以及对开发团队创建的BO你的主页(或者)和的事情应该去的罚款。

你是不是错误的思维,所有应用程序的逻辑应该完成之前呈现的JSP。

如果有必要获取更多的东西,用于显示在JSP,这将是另一个请求到服务器和另一个网页循环。如果你是在找"互动"装载的经验,可以使用的AJAX。

在一个单页的生命周期,我发现这很难理解为什么你有没有援引的数据库来自JSP。没有网页以前发布的所有要求的形式变量来帮助你找到的数据在Servlet/辅助课?

如果你可以给一个实例的情况下,这将是有益的。

[编辑] 看你的例子,是你的设计者(或管理的网站)应设置这些信息构成,一部分不JSP。或者你可以有一个小的应用/管理网页的维持数据库中的信息,以便它可以改变。当你告诉你的网页,阅读配置和负荷的适当数据。

我不知道什么是个问题。我f你想要sql statements出你的jsp页然后你可以把它们放在一个酒店的文件和只读性文件,从jsp页。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top