当前位置: 首页 > 知识库问答 >
问题:

FreeMarker-handeling Json包含int

葛航
2023-03-14

我试图创建一个脚本,它将检查id并导出它的名称,但我遇到了以下情况;

FTL堆栈跟踪(“~”表示与嵌套相关):

<#list [services] as st><#if st.externalId == externalId>${st.name}</#if>
<#list st.children as nd<#if nd.externalId == externalId>${nd.name}</#if>
<#list nd.children as rd><#if rd.externalId == externalId>${rd.name}</#if>
<#list rd.children as th><#if th.externalId == externalId>${th.name}</#if>
<#list th.children as ths><#if ths.externalId == externalId>${ths.name}</#if>
<#list ths.children as thb><#if thb.externalId == externalId>${thb.name}</#if>
</#list></#list></#list></#list></#list></#list>`    
<#assign services=
{
"externalId": 1,
"name": "one",
"children": [
    {
        "externalId": 2,
        "name": "two",
        "children": [ 
            {
                "externalId": null,
                "name": "three",
                "children": [
                   {
                             "externalId": 4,
                             "name": "four",
                             "children": [
                                {
                                         "externalId": 5,
                                         "name": "five",
                                         "children": []
                                }         ]
                    }       ]
            }]
     }]
}>      

请帮忙!!

共有1个答案

何华灿
2023-03-14

在FreeMarker中,您(几乎)总是必须指定一个默认值,希望null-s出现。比如:nd.externalid!==external将在null的情况下将nd.externalid视为空字符串。或者,当th.namenull时,${th.name!'null'}将打印null

 类似资料:
  • 我有一个XML文件,正在使用FreeMarker解析。标记中的一个属性包含“-”,我必须根据该属性的值定义一个条件。代码段如下所示: >

  • 正在寻找旧JSF页面的解决方案。我试图使用contains方法根据另一列是否包含单词red box来呈现组合框。 这一个工作和组合框被禁用。 但是,我也想在值不包含红色框时渲染它们,但随后将启用combox。 这是行不通的。 因此,我如何测试的任何想法都不包含特定的单词。我还尝试了choose test when,但由于第一个表。col4值只是一个空字符串。 有什么想法吗?谢谢。

  • Includes 允许你静态包含一段Jade, 或者别的存放在单个文件中的东西比如css, html。 非常常见的例子是包含头部和页脚。 假设我们有一个下面目录结构的文件夹: ./layout.jade ./includes/ ./head.jade ./tail.jade 下面是 layout.jade 的内容: html include includes/head

  • 通过将以下代码片段复制到构建中,我使用netbeans创建了javafx独立应用程序。xml文件 我有x64位版本的jdk环境,所以它创建了只在x64位版本的窗口或操作系统中运行的应用程序。有人能告诉我应该如何改变部署方法,使应用程序在x86位系统上运行。默认情况下netbean占用了64位版本的jdk环境

  • 主要内容:在 HTML 中包含 HTML 文件,服务端包含,PHP 实例,客户端包含,AngularJS 包含,实例,runoob.htm 文件代码:,包含 AngularJS 代码,sites.htm 文件代码:,实例,跨域包含,sites.htm 文件代码:,angular_include.php 文件代码:在 AngularJS 中,你可以在 HTML 中包含 HTML 文件。 在 HTML 中包含 HTML 文件 在 HTML 中,目前还不支持包含 HTML 文件的功能。 服务端包含 大

  • 主要内容:PHP include 和 require 语句,语法,PHP include 和 require 语句PHP include 和 require 语句 在 PHP 中,您可以在服务器执行 PHP 文件之前在该文件中插入一个文件的内容。 include 和 require 语句用于在执行流中插入写在其他文件中的有用的代码。 include 和 require 除了处理错误的方式不同之外,在其他方面都是相同的: require 生成一个致命错误(E_COMPILE_ERROR),在错误发