jjzjj

FreeMarker

全部标签

java - Freemarker 编码 - 问号代替重音字符

我正在尝试使用Freemarker打印重音字符,但在重音字符的位置,我只得到问号。我已经验证,以下声明成立:"UTF-8"==Environment.getCurrentEnvironment().getConfiguration().getDefaultEncoding()我可以很容易地看到,在将重音字符提供给模板之前,重音字符已正确保存在变量中。我的freemarker上下文可以在这里找到:https://gist.github.com/1975239例如代替:Jedinečnýživýkoncert,kdenejen,žeuslyšíte,aleiuvidítesplynutím

java - Spring + Tiles2 + Freemarker - 通过 Freemarker Servlet 或通过 Spring 的 FreeMarkerViewResolver 集成?

我今天在努力从Freemarker迁移到Tiles2+Freemarker。我的freemarker模板使用来自spring.ftl的宏。如果我在web.xml中提供一个fremarkerservlet,我的模型对freemarker可见,但特定的spring变量(自然地)不会填充到模型中,因为springsFreemarkerView负责。如果我为特定的url(比如“/tpl/*”)配置一个单独的DispatcherServlet,并将freemarker解析器配置为该servlet的默认View解析器,并提供UrlFilenameViewController作为默认Controll

java - Dropwizard 中的 Jersey 过滤器设置一些全局 FreeMarker 变量

我正在阅读https://jersey.github.io/documentation/latest/filters-and-interceptors.html和http://www.dropwizard.io/1.1.4/docs/manual/core.html#jersey-filters尝试做这个:@CookieParam("User-Data")userData:String,@HeaderParam("User-Agent")userAgent:String,我的网络应用程序的每个资源GET方法都不需要。userData是来自cookie的json数据,其中包含“name”

java - FreeMarker:需要一个 boolean 值,但这被评估为一个数字

我有一个模板:10>(somedata)这给我解析错误:For"#if"condition:Expectedaboolean,butthisevaluatedtoanumberresult.numFound是Integer。我读过documentation,也许我遗漏了什么...... 最佳答案 您错过了文档中的最后几行:)。Howtotestifxisgreaterthan1?1>willbewrong,asFreeMarkerwillinterpretthefirst>astheendofthetag.Thus,eitherwr

java - Freemarker:迭代哈希中的嵌套列表

我想迭代一个嵌套在一个Map中的List,数据结构是这样的:Map>groups=newTreeMap()//Somecodeelsetoputvaluesintogroups...自由标记模板:${groupKey}//It'sOKhere.//Exceptionthrewhere,detailmessageispastedbelow${item}详细异常消息:FreeMarkertemplateerror:For"...[...]"left-handoperand:Expectedasequenceorstringorsomethingautomaticallyconvertibl

java - Freemarker 和 java8 默认方法?

我们最近开始在接口(interface)中使用java8默认方法,看起来Freemarker看不到它们:${myRatings.notEmpty()}Thefollowinghasevaluatedtonullormissing:==>myRatings.notEmpty这很遗憾,因为我们在模板中调用了一堆方法。有针对这个的解决方法吗?也许一些补丁?互联网上谈论的大多是getFoo()默认方法,这确实没有多大意义,但我说的是常规方法调用,而不是getter。 最佳答案 更新:FreeMarker2.3.26为此引入了一个解决方法。转

java - 参数可以为空的 Freemarker 函数

我在Freemarker中创建了函数:我这样调用它:${formatDate(object.someDate)}。一切正常,直到someDate为空。在那种情况下,我得到异常:Errorexecutingmacro:formatDaterequiredparameter:anyDateisnotspecified.我该怎么做?如果参数值为null,我希望该函数能够工作。 最佳答案 这是我所做的,这似乎在大多数情况下都有效:默认值应该是一个空字符串,空值检查应该是?has_content。

java - 将 freemarker 模板写入字符串输出

我想在字符串中输出freemarker模板。我有一个freemarker模板文件commonTemplate.ftl。${userDetails.name}${userDetails.birthday}${userDetails.id}以及填充模型并将输出打印到控制台App.java的Java代码。publicclassApp{privateServiceservice=newService();publicvoidexecute(){Configurationconfiguration=prepareConfiguration();//Loadtemplatesfromresourc

java - 使用 Jersey 测试框架时 Servlet 上下文注入(inject)失败

我从Jersey开始,并尝试让freemarker使用TDD来处理它。我想为我的模板创建一个ViewProcessor,但未能在类中注入(inject)servlet上下文。这是类代码:@ProviderpublicclassmyProcessorimplementsViewProcessor{[...]@ContextpublicServletContextmyContext;[...]freemarkerConfiguration.setTemplateLoader(newWebappTemplateLoader(myContext,myContext.getInitParamet

java - Freemarker - 创建多个子标签

给定一个结构如下的ftl文件(只是一个例子),我能够将所有元素替换/插入到级别1中,这很好。当可能有多个level2时,我的困惑就出现了——例如它可能会重复很多次。因此,我的替换过程会遇到痛点${a}${b}${c}${d}map.put("a","valuefora");map.put("b","valueforb");map.put("c","valueforc");map.put("d","valueford");Configurationcfg=newConfiguration();cfg.setDirectoryForTemplateLoading(newFile("C:\\