FreeMarker解析List数据的疑惑

使用java从数据库查询出来如下List格式的数据,用于保存分类目录树:

理综

--- 物理

------------ 高一物理

------------ 高二物理

------------ 高三物理

--- 化学

------------ 高一化学

------------ 高二化学

------------ 高三化学

文综

--- 政治

--- 历史

[
	{
		"name":"理综",
		"hasSub":true,
		"subs":[
			{
				"name":"物理",
				"hasSub":true,
				"subs":[
					{
					"name":"高一物理",
					"hasSub":false
					},
					{
					"name":"高二物理",
					"hasSub":false
					},
					{
					"name":"高三物理",
					"hasSub":false
					}
				]
			},
			{
				"name":"化学",
				"hasSub":true,
				"subs":[
					{
					"name":"高一化学",
					"hasSub":false
					},
					{
					"name":"高二化学",
					"hasSub":false
					},
					{
					"name":"高三化学",
					"hasSub":false
					}
				]
			}
		]
	},
	{
		"name":"文综",
		"hasSub":true,
		"subs":[
			{
				"name":"政治",
				"hasSub":false
			},
			{
				"name":"历史",
				"hasSub":false
			}
		]
	}
]
下面使用FreeMarker输出(不使用递归的方法,只针对这个3层分类的特殊情况):
<#list categories as category>
	#{catgory.name}
	<# if category.hasSub>
	
		<#list category.subs?eval as subcategory>
			#{subcategory.name}
				<#if subcategory.hasSub>
					<#list subcategory.subs as subsubcategory>
						#{subsubcategory.name}
					
				
		
	
疑惑的是:在输出第二级分类时,要使用 eval,而其它list中确不需要!????


你可能感兴趣的:(Java)