【问题标题】:how to switch broadleaf thymeleaf to angularjs ui如何将阔叶百里香切换到angularjs ui
【发布时间】:2016-05-20 19:57:28
【问题描述】:

我想把阔叶百里香ui改成angularjs。

编辑

    <!-- Commented bean -->
<!-- <bean class="org.broadleafcommerce.common.web.BroadleafThymeleafViewResolver">
        <property name="templateEngine" ref="blWebTemplateEngine" />
        <property name="order" value="1" />
        <property name="cache" value="${thymeleaf.view.resolver.cache}" />
        <property name="characterEncoding" value="UTF-8" />
    </bean> -->

Added new viewresolver
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix">
            <value>/WEB-INF/templates/</value>
        </property>
        <property name="order" value="1" />
    </bean>

排除百里香叶罐并添加所有豆类 根据http://www.broadleafcommerce.com/docs/core/current/appendix/removing-thymeleaf

加载页面时出错

在名称为“mycompany”的 DispatcherServlet 中找不到具有 URI [/WEB-INF/templates/index.html] 的 HTTP 请求的映射

【问题讨论】:

    标签: java angularjs spring-mvc broadleaf-commerce


    【解决方案1】:

    为什么要完全删除 Thymeleaf?你想做同构吗?如果没有,您所要做的仍然是渲染 Thymeleaf 模板,但使用它仅在页面上包含 AngularJS 库,而不在 Thymeleaf 中执行任何其他操作。然后,您只需在前端编写所有内容,就像使用普通 Angular 应用程序一样。

    此外,如果您使用的是 Broadleaf 控制器(演示应用程序中提供的控制器),那么如果您想完全更改模板结构,您将需要更改几乎所有控制器(或将它们扔掉)。在这种情况下,控制器返回“index”,但现在 Spring 不知道如何解释“/WEB-INF/templates/index.html”,因为您删除了视图解析器。

    【讨论】:

      【解决方案2】:

      Broadleaf 控制器返回视图。 Broadleaf 视图解析器然后映射视图以重定向 UI。

      对于 AngularJS,Angular 控制器期望来自服务调用响应的 JSON,因为视图导航可以由 angularJS 的 routeProvider 模块负责。我们可以创建自己的 RestControllers 和 autowire Broadleaf 服务。将阔叶服务响应转换为 JSON 并从 RestController 返回。

      在 AngularJS 控制器中,我们将获取 JSON,并根据响应我们可以使用 $location.path("/path") 来决定视图。并且 Path Navigation 可以由 $routeProvider 管理。

      但在这种方法中,我们无法利用 Broadleaf 控制器、验证、UI 绑定等。您可以检查是否接受。

      【讨论】:

        【解决方案3】:

        我建议构建一个新的 Angular 项目,而不是修改现有的阔叶 ui。 Broadleaf Community Starter 项目有 api 模块,已经有休息服务。

        我正在构建一个角度站点项目。我想分享我的方法。我检查了阔叶 community starter 项目。重构包名称。配置为使用 mysql。在能够使用 mysql 运行社区启动器管理员、站点、api 项目之后。我为ui创建了一个单独的“角度”项目(由jhipster)。我添加了修改后的阔叶项目作为依赖项。我在我的 ng-site 项目中扩展了现有的阔叶 API 控制器。找到一个 html 主题。将其解析为角度分量。创建角度服务并绑定到后端休息服务。它正在部分工作。

        这是我的ng-site 项目来源。它还没有完成,但它可以给你一个想法。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-08-14
          • 2015-11-29
          • 1970-01-01
          • 1970-01-01
          • 2015-12-09
          • 2018-07-08
          • 2020-02-19
          相关资源
          最近更新 更多