标签: freemarker

如何在spring mvc中使用freemarker的消息?

在.jsp中我会使用:

<fmt:message key="welcome.title"/>
Run Code Online (Sandbox Code Playgroud)

从我的messages.properties文件中显示一条消息.

我如何用freemarker做到这一点?

java spring freemarker spring-mvc

19
推荐指数
2
解决办法
1万
查看次数

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

在我的Spring应用程序中,我想使用FreeMarker生成将由我的应用程序发送的电子邮件文本.生成的文本永远不会返回到视图,因此我不需要配置FreeMarker视图解析器.该文档似乎表明我应该像这样配置一个FreeMarkerConfigurationFactoryBean

<bean id="freemarkerConfiguration" class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean">
   <property name="templateLoaderPath" value="/WEB-INF/freemarker/"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

一旦我配置了这个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?
Run Code Online (Sandbox Code Playgroud)

Spring模块似乎提供了Spring和FreeMarker之间的另一种集成,这使得检索模板文本非常明显,但我不想在我的应用程序中添加额外的依赖项,除非绝对必要.

另外,我是否需要在FreeMarkerConfigurationFactoryBean中添加一些额外的配置以确保缓存模板?

干杯,唐

java spring templates freemarker

18
推荐指数
1
解决办法
2万
查看次数

FreeMarker模板中的if-else

FreeMarker模板支持使用以下语法的if语句

<#if hot> 
  It's hot.
</#if>  
Run Code Online (Sandbox Code Playgroud)

我查看了文档,找不到if-else语句的任何支持.当然,我可以通过以下方式获得相同的结果:

<#if hot> 
  It's hot.
</#if>  
<#if !hot> 
  It's not hot.
</#if>  
Run Code Online (Sandbox Code Playgroud)

在FreeMarker中是否支持if-else?

java template-engine freemarker

18
推荐指数
2
解决办法
4万
查看次数

如何内省自由标记模板以找出它使用的变量?

我完全不确定这是否是一个可解决的问题,但假设我有一个freemarker模板,我希望能够向模板询问它使用的变量.

出于我的目的,我们可以假设freemarker模板非常简单 - 只是"根级"条目(这种模板的模型可以是一个简单的Map).换句话说,我不需要处理调用嵌套结构等的模板.

java freemarker

18
推荐指数
3
解决办法
6480
查看次数

如何在freemarker模板中将字符串转换为数字

我想在freemarker中将字符串转换为数字.我想根据数字的值进行一些条件检查.?号似乎不起作用.

有什么建议?

freemarker

18
推荐指数
1
解决办法
5万
查看次数

Freemarker:if语句中的枚举

在我的if语句中,我想将一个变量(JDK 1.5枚举)与枚举文字进行比较.例如:

<#if type == ProblemStatisticType.BEST_SOLUTION_CHANGED>
  ...
</#if>
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个例外:

freemarker.core.InvalidReferenceException: Expression ProblemStatisticType is undefined on line 430, column 87 in index.html.ftl.
at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:125)
at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:135)
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

java freemarker

18
推荐指数
1
解决办法
1万
查看次数

在.jar中加载freemarker模板文件夹

我在我的应用程序中使用freemarker模板

在将我的应用程序部署到jar文件之前,我需要做的就是加载我的模板: cfg.setDirectoryForTemplateLoading(new File("templates"));

其中加载了我在项目中创建的模板文件夹中的所有模板.

现在,在转移到maven并将我的应用程序部署到可执行jar之后.应用程序无法再找到此文件夹(我已在.jar文件中检查,并且"templates"文件夹已部署在根目录中)

我已经尝试过我所知道的一切,但没有运气.

我现在应该如何加载我的所有模板?(我假设如果我将文件夹放在.jar文件之外但在同一目录中它将起作用.但这不是我想要的.)

谢谢.

java freemarker maven

18
推荐指数
2
解决办法
1万
查看次数

Google App Engine的模板引擎

你能为GAE推荐一个模板引擎吗?我喜欢Wicket,但它带有很多服务器端状态,这与GAE方法不兼容.

GAE 是否支持FreeMarker

编辑

我对模板引擎的主要要求是:

  • 易于开发(逻辑和设计的分离)
  • 直观的语法,因为用户可以自定义一些模板
  • 快速,轻便

java google-app-engine templates wicket freemarker

17
推荐指数
1
解决办法
4517
查看次数

Freemarker中的字符串列表

我在java代码中有一个字符串列表:

List<String> keywords = new ArrayList<String>();
keywords.add("Apple");
keywords.add("Banana");
Run Code Online (Sandbox Code Playgroud)

我想使用Freemarker显示关键字:Apple,Banana

怎么做?

PS:我通读了手册并发现了一些建议使用的文章<#list>,但输出结果是:Apple

香蕉

freemarker list

16
推荐指数
4
解决办法
2万
查看次数

JSP与FreeMarker

JSP是否提供了比FreeMarker更多的灵活性,还是以其他方式?我的后端涉及Servlets.在什么情况下使用哪一个?

java jsp servlets freemarker

16
推荐指数
2
解决办法
2万
查看次数