Tag: templates

iText如何从可填写的模板创建多页文档

我正在尝试在iText中创建一个多页PDF文档,其中包含填写的表单,每个人一个。 我已经查找了如何在互联网上执行此操作的示例,并在我的解决方案中使用了这些示例。 PDF模板是使用Adobe Acrobat Pro创建的模板。 我已经能够使用iText从我的模板中成功填写并返回单页PDF文档,但多文档过程似乎无法正常工作。 这个我的程序演示了我想要做的事情: import com.itextpdf.text.pdf.AcroFields; import com.itextpdf.text.pdf.PdfReader; import com.itextpdf.text.pdf.PdfStamper; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.pdf.PdfSmartCopy; import java.util.Date; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.text.NumberFormat; import java.io.IOException; import java.io.ByteArrayOutputStream; import java.io.FileOutputStream; public class ITextTest { public static final String TEMPLATE = “C:\\RAD7_5\\iTextTest\\iTextTest\\input\\LS213_1.pdf”; public static void main(String[] args) { ITextTest iTextTest = new ITextTest(); […]

使用通配符将Javagenerics编译为C ++模板

我正在尝试构建Java到C ++的转换器(即Java代码进入,语义上“等效”(或多或少)C ++代码出来)。 不考虑垃圾收集,这些语言非常熟悉,因此整个过程已经很好用了。 然而,一个问题是C ++中不存在的generics。 当然,最简单的方法是执行java编译器所做的擦除。 但是,生成的C ++代码应该很好处理,所以如果我不丢失generics类型信息会很好,即如果C ++代码仍然可以使用List而不是List ,那将会很好。 否则,C ++代码需要在使用此类generics的任何地方进行显式转换。 这很容易出错并且不方便。 所以,我试图找到一种方法来以某种方式获得更好的generics表示。 当然,模板似乎是一个很好的候选人。 虽然它们是完全不同的(元编程与仅编译时类型增强),但它们仍然有用。 只要不使用通配符,只需将通用类编译为模板即可。 然而,只要通配符发挥作用,事情就会变得非常混乱。 例如,考虑以下列表的java构造函数: class List{ List(Collection c){ this.addAll(c); } } //Usage Collection c = …; List l = new List(c); 怎么编译呢? 我有想法在模板之间使用电锯重新解释。 然后,上面的例子可以这样编译: template class List{ List(Collection c){ this.addAll(c); } } //Usage Collection c = …; List l […]

是什么让模板与通用模板不同?

我理解C ++中与Java和C#中的generics不同的模板方面。 C#是一种物化,Java使用类型擦除,C ++使用duck typing等.C ++模板可以做许多事情,Java和C#generics不能(例如模板专门化)。 但是Javagenerics可以做的事情有很多东西,C#和C ++都做不到(比如制作一个generics系列的有界类型参数,比如class Foo<T extends Comparable> ),还有很多东西C#generics可以做到Java和C ++不能(例如运行时genericsreflection)。 [编辑:显然Javagenerics比我想象的要弱得多。 (这是在说些什么。)无论如何,尽管它们不合适,但它们仍然被认为是仿制药和C#的仿制药。 我不明白的是概念上使模板与generics不同。 C ++模板的哪些部分是不能在不是模板的东西中完成的东西,而是通用的? 例如,如果我要实现支持模板的语言,那么它绝对需要什么呢? 我可以忽略哪些语言支持generics所必需的? 我的猜测是模板是一组超级generics,或者它们是实现generics的一种方式,但我并不真正理解真正模板与真正模板之间的区别。

在Spring应用程序中从FreeMarker获取模板文本

在我的Spring应用程序中,我想使用FreeMarker生成将由我的应用程序发送的电子邮件文本。 生成的文本永远不会返回到视图,因此我不需要配置FreeMarker视图解析器。 文档似乎表明我应该像这样配置一个FreeMarkerConfigurationFactoryBean 一旦我配置了这个bean,我如何实际获得为特定模板生成的文本,以及特定的变量Map。 换句话说,后面是什么代码: String templateName = “email” Map templateVars = new HashMap(); templateVars.put(“firstName”, “john”); templateVars.put(“surname”, “doe”); // Now how do I get the template text? Spring模块似乎提供了Spring和FreeMarker之间的另一种集成,这使得检索模板文本非常明显,但我不想在我的应用程序中添加额外的依赖项,除非绝对必要。 另外,我是否需要在FreeMarkerConfigurationFactoryBean中添加一些额外的配置以确保缓存模板? 干杯,唐

Thymeleaf:如何获取URL属性值

我找不到使用Thymeleaf从URL获取属性的任何解决方案。 例如,对于URL: somesite.com/login?error=true 我需要获得“错误”属性值。 我也在使用SpringMVC,如果有用的话。