【问题标题】:Spring MVC : print a table from databaseSpring MVC:从数据库打印表
【发布时间】:2015-12-03 01:52:57
【问题描述】:

我是 Spring MVC 的新手,我想知道如何在我的 jsp 页面中从数据库中打印一个表。

我曾经使用 Java servlet 这样做:

<div class="alert alert-info" role="alert">
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
<%
    HashMap<String,Status> statusMap = new HashMap<String,Status>();
    statusMap = AppUtils.getJobStatusLong();

    DatabaseController db_controller = (DatabaseController)application.getAttribute("db_controller");
    db_controller.openConnection(); 
out.print("<span>&nbsp;&nbsp;Today is "+AppUtils.getDate()+". You have " +db_controller.getClientNumber()+ 
    " clients and "+db_controller.getJobNumber()+" jobs. </span>");
%>

</div>

但我听说在 Spring MVC 中视图和模型是严格分开的,所以通常我不应该在 JSP 中使用 Java 脚本?但是没有 Java scriptlet 怎么办呢?

谢谢。

【问题讨论】:

  • 通常,不仅在 Spring 中,而且在任何基于 MVC 的架构中,都不应使用 scriplet。使用 JSTL 标签库。

标签: java jsp spring-mvc


【解决方案1】:
  1. 从控制器中的数据库中提取所有需要的数据。
  2. (可选)尽可能对数据进行非规范化。这通常会产生干净的视图设计。
  3. 将数据推送到模型中。
  4. 遍历视图中的数据并将其打印在屏幕上。

在 Spring 或其他任何地方都不允许使用 JSP。只是你不应该在 JSP 中放置任何复杂的逻辑。循环遍历结果并打印它们是可以的。查询数据库不是。

【讨论】:

    【解决方案2】:

    如果您使用的是 jsp 页面,那么您可以使用 JSTL 来遍历集合。 Here 是如何使用 JSTL 迭代地图的示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多