【问题标题】:Dynamic Jsp pages - Taking too long动态 Jsp 页面 - 耗时太长
【发布时间】:2014-01-17 12:31:27
【问题描述】:

我有一个项目,它提供用户界面来动态创建动态表单。 用户可以选择不同的字段,如textboxtextarea、日期等并为其创建模型。

一旦用户选择了组件并创建了一个表单,那么我们需要在指定的位置显示该表单。表单组件通过接受 pojo 对象的通用 jsp 页面呈现,然后将该对象分发到我们自己自定义创建的输入、复选框、收音机、日期等标签。

问题是渲染表单需要 10-15 秒。

有没有办法我可以创建模板或说创建表单的 html 代码并将它们存储在数据库中并通过它们呈现。 (假设我仍然能够使用 Spring MVC 绑定数据,显示 dropdown 值,在字段中选择或保存数据。)

【问题讨论】:

  • 您能否提供一个需要 10-15 秒才能呈现的示例表单?
  • 其实这不是静态表单,而是动态表单。这意味着我有一个呈现不同表单的通用 jsp 页面。当我说我有一个用户界面时,可以从中设计表单并创建不同的组件,因此这些组件以实体的形式存储在 DB 中,在渲染这些字段时加载并转换为适当的 POJO,然后传递到相同的通用jsp进行渲染..现在从这里开始在内部处理它需要1--15秒..并绘制整个表单..
  • 是的,但我们无法在不确定为什么需要这么长时间的情况下为您提供建议。
  • 您确定将对象从数据库中拉出不会占用时间吗?例如,如果您正在迭代一个延迟初始化的查询集,它可能会为每个实体执行一个新的 SELECT。
  • jsp pages 是多余的。 JSP 已经代表JavaServer Pages

标签: java html forms jsp spring-mvc


【解决方案1】:

您可能想看看Metawidget。正如您所描述的,它在一个通用 JSP 中呈现不同的表单,并且没有您所看到的 10-15 秒问题。

Metawidget 是开源的,因此您可以检查它的工作原理,甚至可以“按原样”使用它(它旨在嵌入到您的项目中)。这里有一个很好的示例教程:http://metawidget.org/doc/reference/en/html/ch01s03.html#section-introduction-part2-web

【讨论】:

    【解决方案2】:

    更好的方法是创建您自己的自定义标签并删除重复的代码。 这将减少编译时间并进一步减少页面的加载时间。

    【讨论】:

      猜你喜欢
      • 2021-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-07
      • 2018-02-27
      • 2013-05-28
      相关资源
      最近更新 更多