6

作为打印表单的可能错误且繁琐的解决方案的一部分,我采用了一个 MS-Word 文档,保存为 XML,我试图将该 XML 存储为一个 groovy 字符串,以便我可以 ${fillOutTheFormProgrammatically}

但是,由于 MS-Word 文档与它们一样大,字符串是 113100 个 unicode 字符,而 Groovy 说它限制为 65536。有什么方法可以改变这一点,还是我坚持拆分字符串?

Groovy - 需要制作可打印的表单

这就是我想要做的。

更新:要清楚它的 Groovy 字符串太长了。我认为常规字符串可能都很好。打算改变策略并将一些字符串放入我可以轻松找到的文件中,例如 %!%variable_name%!% 然后执行 .replace(... 呃我觉得这里出现了一个新问题...

4

1 回答 1

6

您是否将此字符串直接嵌入到您的 groovy 代码中?jvm 本身对字符串常量的长度有限制,如果您对细节感兴趣,请参阅VM Spec 。

一个丑陋的解决方法可能是将字符串拆分为较小的部分并在运行时将它们连接起来。更好的解决方案是将文本保存在外部文件中并从代码中读取内容。您还可以将此文件与您的代码一起打包,并使用Class#getResourceAsStream从类路径访问它。

于 2011-07-28T09:27:52.910 回答