【问题标题】:Spring MVC - REST what frontend technology should I choose?Spring MVC - REST 我应该选择什么前端技术?
【发布时间】:2014-05-28 22:14:48
【问题描述】:

我想问一个简短的问题。它是: 我想使用 Spring 创建一些 Web 应用程序。我想制作 RESTful 网络服务并用 HTML5 和 jQuery 处理它,但有人告诉我这是愚蠢的想法,浪费我的时间。

所以我想知道哪种技术更常用于:公司、您、您私人项目中的程序员等。 我听说过:

  • 免费标记
  • 速度
  • JSP

现在我想知道 - 我应该使用上面列表中的某些模板引擎返回视图,还是使用 JS 处理它以在 Web 上呈现数据并仅从控制器返回 JSON?哪种方式最好?

我将创建简单的 Spring、JPA 等应用程序并通过添加更多实用程序来开发它 - 只是为了自己学习 java-web-developing :)

感谢您的回答!

【问题讨论】:

  • 谁告诉你这是个愚蠢的主意:)?
  • @tonga 某人,某处,不记得了:D 但是我考虑过做 2 个项目:第一个将处理 RESTful 后端 - 数据库、计数、解析数据等,第二个将是 HTML5+CSS3 +jQuery 项目将使用 Spring REST 返回的数据并将其呈现在页面上,这是个好主意吗?我现在在整合两个项目时遇到了一些问题,这让我想到了 Freemarker 等。
  • 这两种技术都可以用来渲染视图。但这取决于您的需求。如果您的客户端不仅仅是一个 Web 浏览器,那么 REST Web 服务就是您的最佳选择。无论客户端是什么,您始终可以使用 REST Web 服务来重用您的服务器端代码。
  • 是的,现在我想我明白了。我想创建 RESTful WebService 作为后端,它必须独立于视图技术并以 JSON 格式返回原始数据。然后我将能够使用另一种语言实现我的 android/iphone 应用程序、网页、桌面应用程序等。这就是我现在的目标。所以我认为使用模板引擎不是一个好主意——我必须返回视图名称或像 ModelAndView 这样的奇怪对象,而且它本来是
  • 真的很难(甚至不可能)用 iPhone 应用程序或桌面应用程序来处理它.我对吗?您要添加一些东西来指导我吗?

标签: spring jsp rest velocity freemarker


【解决方案1】:

JSP + Apache Tiles with Spring 是一个不错的选择; Tiles 非常易于使用(并且易于理解):

<definition name="myapp.homepage" template="/layouts/classic.jsp">
    <put-attribute name="title" value="Tiles tutorial homepage" />
    <put-attribute name="header" value="/tiles/banner.jsp" />
    <put-attribute name="menu" value="/tiles/common_menu.jsp" />
    <put-attribute name="body" value="/tiles/home_body.jsp" />
    <put-attribute name="footer" value="/tiles/credits.jsp" />
</definition>

【讨论】:

  • 我曾经尝试使用 Tiles,但在将它与 spring 集成时遇到了很大的问题。有一些 servlet-conflict (?) 或类似的东西,我找不到解决方案 :) 但确实,这似乎很容易和直观
  • 我第一次听说 Tiles 有这样的严重问题,我已经用这种技术组合完成了几个项目......我会密切关注它 :) 希望你有祝你研究顺利!
【解决方案2】:

我会推荐一个 JSP。您仍然可以在 jsp 中使用 HTML5 和 JQuery。有大量针对 Spring 和 JSP 的教程。
至于是使用返回的视图还是 js,我会说两者都尝试。这在很大程度上取决于您希望您的网络应用程序如何“行动”如果您对页面重新加载和重定向感到满意......采用视图方法。如果您不想刷新整个页面,自然 JSON 将是要走的路。

【讨论】:

    【解决方案3】:

    如果你打算使用服务器端模板,我强烈建议你看看Thymeleaf。它有一个很棒的模板引擎,非常容易理解,并且由 Spring 积极推动(Spring Boot 自动配置它)。

    【讨论】:

      猜你喜欢
      • 2015-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-30
      • 2021-10-13
      • 1970-01-01
      相关资源
      最近更新 更多