当前位置: 首页 > 知识库问答 >
问题:

如何读取ReactJs应用程序中的Spring Boot Application.Properties?

董奇思
2023-03-14

我们有两个配置文件:一个在Spring Boot应用程序(application.properties)中,另一个在ReactJs应用程序(我们在create-react-app中使用.env)中。决定在ReactJs应用程序中也使用Spring Boot application.properties。有谁能指导我如何才能做到这一点吗?我读过关于“Properties-Reader”的文章,并尝试使用它,但我在我们的ReactJs应用程序中没有webpack.config.js文件。

共有1个答案

曾涵育
2023-03-14

Thymeleaf提供了通过模板(index.html)文件将数据从application.properties文件传递到Javascript的最简单方法。

或者,也可以使用普通的JSP来完成。

以下是工作示例:

<div id="root"></div>  ---> Div to be updated by react
....
<span id="myData" hidden></span>

<!-- Script to set variables through  Thymeleaf -->
              
<script th:inline="javascript"> 
    var myData = "[${myData}]]";
    document.getElementById("myData").innerHTML = myData;
</script>
@GetMapping("/")
public String index(Model model) {

    // Get the value of my.data from application.properties file
    @Value("${my.data}")
    private String myData;

    // Call Thymeleaf to set the data value in the .html file
    model.addAttribute("myData", myData);

    return "index";
}

https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#JavaScript-内联

https://attacomsian.com/blog/thymeleaf-set-javascript-variable

步骤1:将感兴趣的数据属性定义为index.jsp文件中的隐藏元素

<!DOCTYPE html>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html lang="en">
    <head>
        <!-- Head section here -->
    </head>
    <body>
        <!-- Div to be updated by react -->
        <div id="root">
        </div>

        <!-- Include the interesting attribute as a hidden field -->
        <span id="myData" hidden>${myData}</span>
    </body>
</html>
import java.util.Map;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HomePageController{

    // Read data from application.properties
    @Value("${my.data}")
    private String myData;

    // Update data attributes of JSP using map.put
    @GetMapping("/")
    public String index( Map<String, Object> map ) {
        map.put("myData", myData);
        return "index";
    }
}

https://mkyong.com/spring-boot/spring-boot-hello-world-example-jsp/

 类似资料:
  • 我正在读取google appengine应用程序中文件夹(/war/config/client.properties)中的属性文件。它在我的本地服务器上运行良好,但在生产模式下不工作,并且抛出异常java。安全AccessControlException:拒绝访问(java.io.FilePermission)。 你能告诉我如何在生产模式下工作吗。

  • 这是我的选项2选项 但它给出了一个错误的说法 java.io.FileNotFoundException:C:\users\businesssupport\documents\netBeansProjects\InvoiceGenerator\resources\hemaslogo.jpg(系统找不到指定的路径)

  • 问题内容: 我有一个使用React的网络应用程序,我正在尝试使用Selenium RC创建一些测试。我发现,当Selenium更改字段的值时,不会正确触发事件。我知道这是一个典型的问题,正如WebDriver常见问题所证明的那样,我已经尝试了很多不同的事情,例如使用onFocus而不是onChange并使用sendKeys()和type()确保焦点进出,以编程方式调用该事件以及我可以在网上找到的任

  • 问题内容: 我正在尝试为服务发现实施领事,而在两件事上遇到了麻烦:连接到自定义DNS服务器,以及格式化我的请求。 这是我要在go应用程序中查找的内容: 这是相关的代码。(我知道这是错误的,但是这样您就可以看到我正在尝试做的事情) 和输出: 任何帮助,将不胜感激!谢谢 问题答案: 尝试使用更锋利的工具,例如包裹。上次查看它时,它几乎可以控制客户端设置的每一位来进行DNS解析。

  • 问题内容: 我的Flask应用程序结构如下所示 当我运行时,它将在处启动服务器。在我,我尝试打开该文件作为 它给出了错误 如何访问此文件? 问题答案: 认为问题出在你/的道路上。删除,/因为与处于同一级别。 我建议将水平设置为或许多Flask用户喜欢使用,但我不喜欢。 如果这是你要设置的方式,请尝试以下操作: 现在,你可以轻松执行以下操作: 根据需要调整路径和级别。

  • 问题内容: 我是reactjs的新手,我想在我的react应用程序中包含引导程序 我已经安装了引导程序 现在,要在我的react应用程序中加载bootstrap css和js。 我正在使用webpack。 webpack.config.js 我的问题是“如何在node_modules的reactjs应用程序中包含引导CSS和js?” 如何设置引导程序以包含在我的React应用程序中? 问题答案: