java - React 和 Freemarker 集成

标签 java spring reactjs spring-boot freemarker

我们有一个基于Java、Spring Boot构建的网站,UI是用FTL(FreeMarker)编写的。

现在我们想使用 React 重写 UI,但又不想放弃整个 FTL 并从头开始只使用 React。因为我们团队只负责该网页的一个组件,而该页面是用FTL编写的。

假设在网页上,有一个名为

的组件

insurance-module

它呈现保险模块,由 FreeMarker 编写,并包含在此代码中:

#### Other FTL code ########

<#include "/XXX/insurance/insurance-module.ftl" /> 

#### Other FTL code ########

我可以使用 React 编写该组件,但问题是,我不知道如何将我的 React 代码集成到现有的 FTL 模板中。意思是,在不破坏原有代码结构和功能的情况下,插入我完整的功能性React代码。

#### Other FTL code ########

This part now comes from React.

#### Other FTL code ########

谢谢

最佳答案

使用 React,你基本上可以在任何地方构建、组合甚至重用它们,甚至不需要 FreeMarker,但是,如果你确实需要使用 FreeMarker,你可以查看文档 here 。例如,假设您的保险模块具有 policy-detailsinsured-asset (请原谅糟糕的域概念)。本质上,您可以独立拥有这两个组件,也可以使用一个将两者结合在一起的组件,例如保险模块,代码如下所示:

PolicyDetails.js/InsuredAsset.js

import React, { Component } from 'react'
...

export class PolicyDetails extends Component {
   //constructor and maybe other functions
   render() {
     return (
       <div>
          some html here...
       </div>
      )
   }

}

对于复合组件,你可以有类似的东西:

InsuranceComponent.js

import React, { Component } from 'react'
...

export class InsuranceComponent extends Component {
   //constructor and maybe other functions
   render() {
     return (
       <div>
          <PolicyDetails />
          <InsuredAsset />
       </div>
      )
   }

}

我希望这能回答您的问题,因为它有点太宽泛,无法给出具体答案

关于java - React 和 Freemarker 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57366118/

相关文章:

css - ReactStrap 输入组错误(不是 100% 宽度)

java - 我可以将字符串文件从 res/values/string.xml 放置到远程主机服务器并从那里读取吗

java - 无法在 Spring Boot 中拦截和操作 HttpServletResponse

java - 如何使用 MultiResourceItemReader 读取多个文件?

model-view-controller - Spring 3 的 MVC 框架生产质量中的 REST 支持了吗?

javascript - 是否可以在 firefox 扩展页面-mod 中使用 react?

javascript - 如何处理ReactJS中从组件B中的方法调用组件A中的方法的情况

Java字节码编译

java - Diamond 速记语法不适用于 javac

java - 第一个 JFrame 应该使用 'invokeLater' 创建还是可以直接从 main 创建?