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

java - springboot用Thymeleaf模板改写word xml文件如何修改内部w:val的值?

夹谷成仁
2024-12-12

有一个word导出功能,像普通文本这块用th:text="${xxx}"的方式没问题,但表格中“结果”下面的列是动态的,“结果”需要按照下面列的数量合并单元格
image.png
在word xml中 这段代码<w:gridSpan w:val="3"/>,如何动态修改w:val="3"的值。

<w:tcPr>
    <w:tcW w:w="4610" w:type="dxa"/>
    <w:gridSpan w:val="3"/>
    <w:vAlign w:val="center"/>
</w:tcPr>

共有1个答案

小牛23066
2024-12-12

使用 Spring Boot 和 Thymeleaf 动态修改 XML 属性值

引入依赖:

pom.xml 文件中添加 Thymeleaf 依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

创建 Thymeleaf 模板:

src/main/resources/templates 目录下创建一个 XML 模板文件,例如 template.xml

<?xml version="1.0" encoding="UTF-8"?>
<w:tcPr xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
    <w:tcW w:w="4610" w:type="dxa"/>
    <w:gridSpan w:val="${gridSpanValue}"/>
    <w:vAlign w:val="center"/>
</w:tcPr>

创建控制器:

在控制器中处理请求并传递动态值:

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class XmlController {

    @GetMapping("/generateXml")
    public String generateXml(@RequestParam("gridSpanValue") int gridSpanValue, Model model) {
        model.addAttribute("gridSpanValue", gridSpanValue);
        return "template";
    }
}

配置 Thymeleaf:

application.properties 文件中配置 Thymeleaf:

spring.thymeleaf.mode=XML
spring.thymeleaf.cache=false

运行应用程序:

启动 Spring Boot 应用程序,并通过访问 http://localhost:8080/generateXml?gridSpanValue=3 来查看生成的 XML。

 类似资料:
  • 问题内容: 我想使用Java程序删除文件的某些内容,如下所示。这是在相同文件中替换的写方法,还是应将其复制到另一个文件。 但是它删除了文件的所有内容。 问题答案: 我将从关闭阅读器和刷新书写器开始:

  • 问题内容: 我想替换第二行的文件内容,请根据以下文件格式和侦听器方法来帮助您。 第二行很长,要替换为。 问题答案: 如对类似问题的公认答案中所建议: 同时以写入模式打开一个临时文件,对于每一行,读取它,必要时进行修改,然后写入该临时文件。最后,删除原始文件并重命名临时文件。 根据您的实现,类似于以下内容:

  • 本文向大家介绍SpringBoot中的Thymeleaf模板,包括了SpringBoot中的Thymeleaf模板的使用技巧和注意事项,需要的朋友参考一下 一、前言     Thymeleaf 的出现是为了取代 JSP,虽然 JSP 存在了很长时间,并在 Java Web 开发中无处不在,但是它也存在一些缺陷: 1、JSP 最明显的问题在于它看起来像HTML或XML,但它其实上并不是。大多数的JS

  • 我习惯于在Tomcat上部署应用程序war文件,现在需要在非常紧迫的期限内使用Jboss EAP,所以没有太多时间学习。我看到主要的区别是,当我启动jboss实例时,war文件没有像Tomcat中那样被提取。Jboss只是在部署war文件中的内容。那么如何修改war文件中的文件呢?我是否需要为每次更改提取、更改和重新打包? 非常感谢。

  • 我正在使用SpringBoot和thymeleaf从html模板生成文档。 随着模板的不断变化,我希望ti从外部加载模板,只是从外部添加或删除模板,而不是重新部署应用程序。 作为POC,使用/resources文件夹时效果良好。 这就是错误: 解析模板“凭证”时出错,该模板可能不存在,或者任何已配置的模板解析程序都无法访问该模板 这就是背景: applycation.yml 这是我的方法:其中te

  • 模板安装、修改: 该文档正在编写中...

  • 问题内容: 我有一个声音文件,我想修改音高。该文件存储在MP3中。我已经搜索了互联网,但是未能找到任何可以修改音高的库或算法。 任何示例和/或文献将不胜感激 问题答案: 从您的问题中并不清楚,您是否只想更改播放速度(就像转盘上的音调衰减器一样),还是要更改音高而不影响播放速度。如果是后者,则需要使用时间拉伸/音高偏移算法。参见:http : //en.wikipedia.org/wiki/Audi

  • 问题内容: 我正在使用Python,并且想在不删除或复制文件的情况下将字符串插入文本文件。我怎样才能做到这一点? 问题答案: 取决于你要做什么。要附加,可以用打开它: 如果要先添加某些内容,则必须先从文件中读取: