Java docx4j使用SQL数据修改页眉页脚模板

Java docx4j使用SQL数据修改页眉页脚模板,java,jaxb,footer,docx4j,Java,Jaxb,Footer,Docx4j,我想做的是接受一个worddoc/docx模板,它已经有了预先设计好的页眉和页脚,并用用户输入并通过MySQL保存的文档生成的单词替换某些单词。我已经有了一个程序,可以获取用户输入并保存到MySQL。然而,我有点困惑,操纵这个词怎么会变成这个词。 我找到了docx4j和一个教程,其中显示了我正在寻找的内容,以及在这个站点示例代码的另一个问题上找到的内容。由于我是这方面的初学者,我感到困惑的是: 我知道JAXB用于与XML之间的转换。在这样的情况下,为什么这与此相关?或者如果不是,在什么情况下会是

我想做的是接受一个worddoc/docx模板,它已经有了预先设计好的页眉和页脚,并用用户输入并通过MySQL保存的文档生成的单词替换某些单词。我已经有了一个程序,可以获取用户输入并保存到MySQL。然而,我有点困惑,操纵这个词怎么会变成这个词。 我找到了docx4j和一个教程,其中显示了我正在寻找的内容,以及在这个站点示例代码的另一个问题上找到的内容。由于我是这方面的初学者,我感到困惑的是:

我知道JAXB用于与XML之间的转换。在这样的情况下,为什么这与此相关?或者如果不是,在什么情况下会是? 我看到两种版本的加载:

WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new java.io.File("P:\\Engineering\\Projects\\Naming\\EX_TEMP.docx"));
。。。。。。。。第二个例子:

    private WordprocessingMLPackage getTemplate(String name) throws Docx4JException, FileNotFoundException {
    WordprocessingMLPackage template = WordprocessingMLPackage.load(new FileInputStream(new File(name)));
    return template;
}
第二个代码的文件目录放在哪里,或者如何指定要加载的文件

hyperlinkresolver做什么?为什么需要它?第二环节 在这种情况下应用绑定是什么?第二环节 什么是内容存取器?第一环节 我这样做是正确的,还是有更简单/更好的方法? 如果有帮助的话,我正在Windows7上使用Eclipse和Java。 我将感谢任何帮助,谢谢!
此外,如果有人有任何好的评论或解释的例子,这将是有益的

您可能应该退后一步,决定采用哪种方法注入数据。Docx4j支持三种方法:

替换文档表面上的变量很容易,但很简单 使用MERGEFIELD进行邮件合并,适用于旧文档 内容控制数据绑定您的第二个链接;现代的/复杂的/强大的方法,但您需要理解XML,这可能有点过分了
对于大多数具体问题的答案,请花时间阅读docx4j的指南。

我只允许使用上面的两个链接,但我想包括一个有用的分类,使一些事情更容易理解,但并不能真正回答我的大多数问题。我只是觉得如果其他人也在努力理解这些东西,它可能会很有用。谢谢你,杰森,你的初学者指南很有帮助。我将尝试使用第一种方法,只要能够访问页眉和页脚,就可以替换文档表面上的变量。有一件事我仍然坚持,那就是JAXBElement。我知道这是构成doc这个词的zip的一部分,但我不明白它是在哪里定义的。我尝试实现的每一个示例都缺乏我所能说的来源。也许我错过了什么。我知道你需要使用get/setContents,但是如何使用呢?再次感谢!JAXB有javax.xml.bind.JAXBElement,用于包装一些对象,以提供有关相应xml元素的额外信息。在docx4j中,包含使用JAXB表示的内容的每个部分都有一个字段,其中包含其内容模型的根对象,您可以通过getContents访问该字段。不幸的是,我们将该字段称为jaxbElement,这可能有点混乱。getContents可以获取与所讨论的部分相关的任何对象。因此,对于主文档部分,它是一个org.docx4j.wml.Document对象;对于页眉或页脚来说,这是另外一回事。然后,使用文档对象的方法操纵文档对象。