Tag: freemarker

之间的区别 ,free_marker中的has_content,if_exists

以下在freemarker中有什么区别? ! has_content ?? if_exists 我用了 ?? 而不是has_content&它导致如此巨大的问题。 搞砸了我的一天。 我真的需要弄清楚这个事情。 当我使用 !(xyz.abc!)?? — it dint work 当我使用 !(xyz.abc!)?has_content … it did work 不? OR has_content或if_exists检查相同的事情?

如何从FreeMarker模板的对象调用java方法?

是否可以调用一个从Freemarker模板获取参数的方法? 我有一个对象模型,我试图用Freemarker渲染成一个网页。 其中一个对象有一个获取其内容子列表的方法 – 用一个参数来过滤列表: public List getunits(final String type); 我知道在JSP中你不能直接这样做,但是你可以编写自定义的函数来实现你想要的结果。 你如何在Freemarker中解决这个问题? 编写自定义函数是否一样? 还是有一些实际调用这种function的方式?

速度与FreeMarker

速度还是FreeMarker? 他们看起来几乎相同,甚至语法? 使用什么? 或者什么时候用什么?

IntelliJ没有正确识别一个特定的文件,而是被卡住为一个文本文件

我的IntelliJ项目中有一个freemarker文件(ftl)被错误地识别为文本文件。 有许多相同的types是正确的。 我知道“标记为文本”选项。 这可能是这个文件被标记为文本的原始原因,但是如果确实存在这个问题,我没有提供一个“标记为ftl文件”的选项来将其返回。 如果我把其他的ftl文件标记为txt,我可以按照预期把它们变成ftl文件。

什么是FTL文件

我是一个新项目,必须从内部学习。 我看到很多扩展名为.ftl的文件。 我不确定他们是什么。 我知道他们可以修改,用户可以看到前端的变化。

为什么我会使用模板引擎? jsp include和jstl vs tiles,freemarker,velocity,sitemesh

我正要select组织我的观点(用spring-mvc,但这不应该太重要) 据我所知,有6个选项(尽pipe它们不是相互排斥的): 瓷砖 SiteMesh的 Freemarker的 速度 <jsp:include> <%@ include file=".."> 瓷砖和Sitemesh可以分组; 所以可以Freemarker和速度 。 每个组内使用哪一个不是讨论的问题,关于它的问题和讨论已经足够了。 这是一个有趣的阅读 ,但不能说服我使用瓷砖。 我的问题是, 这些框架给出了什么,不能正确使用 <@ include file="..">和JSTL。 要点(一些从文章中提取): 包括页面的部分,如页眉和页脚 – 之间没有区别: <%@ include file="header.jsp" %> 和 <tiles:insert page="header.jsp" /> 在标题中定义参数 – 如标题,元标记等。这是非常重要的,尤其是从SEO的angular度来看。 使用模板选项,您可以简单地定义每个页面应该定义的占位符。 但是,所以你可以在jsp中使用JSTL ,使用<c:set> (在包含页面)和<c:out> (在包含的页面中) 布局重组 – 如果要将菜单上方的面包屑或另一侧面板上方的login框移动。 如果页面包含(使用jsp)组织不当,则可能需要在这种情况下更改每个页面。 但是,如果你的布局不是太复杂,而且你把常见的东西放在页眉/页脚中,没有什么可担心的。 通用组件和具体内容之间的耦合 – 我不觉得这个问题。 如果你想重用一些片段,把它移动到一个不包含任何页眉/页脚的页面,并将其包含在需要的地方。 效率 – <%@ include file="file.jsp" […]

如何检查FreeMarker模板中是否存在variables?

我有一个Freemarker模板,其中包含一些处理模板时为其提供值的占位符。 我想有条件地包含模板的一部分,如果提供userNamevariables,如下所示: [#if_exists userName] Hi ${userName}, How are you? [/#if_exists] 然而,FreeMarker手册似乎表明,if_exists已被弃用,但我找不到另一种方法来实现这一点。 当然,我可以简单地提供一个额外的布尔variablesisUserName,并使用如下所示: [#if isUserName] Hi ${userName}, How are you? [/#if] 但是,如果有一种方法来检查userName是否存在,那么我可以避免添加这个额外的variables。

Freemarker迭代hashmap键

Freemarker有两个集合数据types,列表和hashmaps是否有一种方法来迭代hashmap键,就像我们用列表一样? 所以,如果我有一个数据variables让我们说: user : { name : "user" email : "looser@everything.com" homepage : "http://nosuchpage.org" } 我想打印所有用户的属性与他们的价值。 这是无效的,但目标是明确的: <#list user.props() as prop> ${prop} = ${user.get(prop)} </#list>